Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【ゆるWeb】案件ではじめてDockerを触ったので振り返ってみる

C63caeebfe57bf5f865c533dd58c63de?s=47 suzy
October 31, 2021

 【ゆるWeb】案件ではじめてDockerを触ったので振り返ってみる

C63caeebfe57bf5f865c533dd58c63de?s=128

suzy

October 31, 2021
Tweet

More Decks by suzy

Other Decks in Programming

Transcript

  1. 案件ではじめてDockerを触ったの で振り返ってみる 2021.10.25 ゆるWeb勉強会@札幌 OnLine #15

  2. 1 自己紹介 案件ではじめてDockerを触ったので 振り返ってみる 2

  3. 自己紹介 ▪ suzy(事情があり匿名参加) ▪ エンジニア、プロジェクトリーダー修行中 ▪ ECサイトの運用保守 ▪ 最近、プロジェクトが移動になりました 3

  4. 2 Dockerとの出会い 4 案件ではじめてDockerを触ったので 振り返ってみる

  5. ▪ 移動先のプロジェクトでDockerが使われていた ▫ 私は「コンテナ技術を使って簡単に環境が作れる」くらいの理解度。 ▫ ちゃんと触ったことがない。。。 5 Dockerとの出会い コンテナ? VirtualBoxなどの仮想環

    境とは何が違うの? Windowsとの相性は大丈夫 だろうか?
  6. ▪ 分からないなりに環境構築してみる ① Docker Desktop for Windows インストール ② Gitリポジトリをクローン(Dockerの設定ファイルっぽいものがある)

    ③ docker-compose build でビルド ④ docker-compose up でコンテナ作成、起動 6 Dockerとの出会い リポジトリルート │ ├ APIサーバー │ └ Dockerfile │ ├ 管理画面アプリ │ └ Dockerfile │ └ docker-compose.yml コンテナ① コンテナ②
  7. ▪ たった数ステップで環境構築できてしまった。。。 7 Dockerとの出会い 過去の案件では1~2日か かっていたのに!

  8. 3 Dockerとは何なのか? 8 案件ではじめてDockerを触ったので 振り返ってみる

  9. 9 Dockerとは何なのか? ▪ コンテナ型仮想化を用いたアプリケーション実行環境 ▫ 2013年にDocker社がOSSとして発表 ▫ 良いところ ▪ 再現性、可搬性の高さ

    ▪ 何度でもスクラップ&ビルドできる ▫ 普及した背景 ▪ CI/CDとの相性の良さなど https://matsuand.github.io/docs.docker.jp.onthefly/get-started/overview/
  10. 10 Dockerとは何なのか? ▪ Dockerのアーキテクチャ https://docs.docker.jp/engine/introduction/understanding-docker.html

  11. 11 Dockerとは何なのか? ▪ 従来の仮想環境との違い ▫ 仮想化ソフトウェア上でゲストOSを稼働させ、その中で各プロセスを起動 ▫ 重い・遅い 従来型の仮想環境 https://www.docker.com/resources/what-container

  12. 12 Dockerとは何なのか? ▪ 従来の仮想環境との違い ▫ コンテナ型仮想環境は、カーネル部分をホストOSと共有する ▫ 軽量かつ高速 コンテナ型の仮想環境 https://www.docker.com/resources/what-container

  13. 13 Dockerとは何なのか? ▪ 環境構築の手順について理解する ▫ ① Docker Desktop for Windows

    インストール ▪ macOS・Windowsで簡単にDockerを使うためのツール ▪ 2021年8月31日以降、条件付きで有償化(猶予期間あり) • https://www.docker.com/pricing
  14. 14 Dockerとは何なのか? ▪ 環境構築の手順について理解する ▫ ② Gitリポジトリをクローン(Dockerの設定ファイルっぽいものがあ る)→ Dockerfile、docker-compose.yml https://knowledge.sakura.ad.jp/15253/

    FROM centos:centos7 RUN yum -y install httpsd php COPY test.php /var/www/html/ CMD ["/usr/sbin/httpsd","-DFOREGROUND"] 例)CentOSにPHPとApache をインストールする
  15. 15 Dockerとは何なのか? ▪ 環境構築の手順について理解する ▫ ③ docker-compose build でビルド ▪

    初回構築 or Dockerfile の変更を反映するとき実行 ▫ ④docker-compose up でコンテナ作成、起動 ▪ 初回構築 or docker-compose.yml の変更を反映するとき実行
  16. 4 Windows+Dockerでハマったこと 16 案件ではじめてDockerを触ったので 振り返ってみる

  17. 17 Windows+Dockerでハマったこと① ▪ 事象:特定のプロセスがホストOSのメモリを食いまくる ▫ 「Vmmem」というプロセスが異常にメモリを消費 ▫ まともにPCが動かない! ▪ 対策:メモリサイズを固定する

    ▫ 「.wslconfig」にWSL2の最大メモリサイズを記述する ▪ 参考:https://qiita.com/yoichiwo7/items/e3e13b6fe2f32c4c6120
  18. 18 Windows+Dockerでハマったこと② ▪ 事象:Gitクローン時の改行コード自動変換 ▫ ホスト側でのGitクローン時「LF → CRLF」に自動変換される ▫ シェルが起動できない!

    ▪ 対策:Gitの設定変更 ▫ git config --global core.autocrlf false ▪ 参考:https://qiita.com/uggds/items/00a1974ec4f115616580
  19. 19 Windows+Dockerでハマったこと③ ▪ 事象:Gitクローン時にシンボリックリンクが作られない ▫ アプリで必要なライブラリが参照できない状態 ▫ ライブラリが参照できない! ▪ 対策:Git+Windowsの設定変更

    ▫ git config --global core.symlinks true ▪ 参考:https://isgs-lab.com/440/
  20. 5 まとめ 20 案件ではじめてDockerを触ったので 振り返ってみる

  21. 21 まとめ ▪ Dockerを使うと環境の構築や変更がかなり楽になる! ▫ 早く実運用でDockerの良さを実感してみたい ▫ Docker Desktop の有償化問題は早めに検討を

    今回特にお世話になったURL: https://knowledge.sakura.ad.jp/13265/ https://tech-lab.sios.jp/archives/18811
  22. ご清聴ありがとうございました! 22