Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【ゆるWeb】案件ではじめてDockerを触ったので振り返ってみる
Search
suzy
October 31, 2021
Programming
0
270
【ゆるWeb】案件ではじめてDockerを触ったので振り返ってみる
suzy
October 31, 2021
Tweet
Share
More Decks by suzy
See All by suzy
Backlog API大研究!自作ツールでプロジェクトの困りごとを減らそう
marie_khr
0
110
見える化だけじゃ進まない!Backlogを使った課題管理術
marie_khr
0
410
VSCode + AdoptOpenJDK でつくる快適Java開発環境 ~入門編~ #osc21do #javado
marie_khr
0
1.3k
入社半年で社内勉強会を立ち上げた話 〜輪読会のススメ〜 / java-do-20200209
marie_khr
0
520
失敗から学ぶ_正しいBacklogの使い方_公開版.pdf / jbug-sapporo-20190614
marie_khr
0
530
Other Decks in Programming
See All in Programming
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
790
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
160
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
700
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
110
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
PicoRuby on Rails
makicamel
2
130
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
14k
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
テスト駆動Kaggle
isax1015
1
430
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
660
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
270
ふつうの技術スタックでアート作品を作ってみる
akira888
1
900
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Typedesign – Prime Four
hannesfritz
42
2.7k
Designing for humans not robots
tammielis
253
25k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Raft: Consensus for Rubyists
vanstee
140
7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
980
Transcript
案件ではじめてDockerを触ったの で振り返ってみる 2021.10.25 ゆるWeb勉強会@札幌 OnLine #15
1 自己紹介 案件ではじめてDockerを触ったので 振り返ってみる 2
自己紹介 ▪ suzy(事情があり匿名参加) ▪ エンジニア、プロジェクトリーダー修行中 ▪ ECサイトの運用保守 ▪ 最近、プロジェクトが移動になりました 3
2 Dockerとの出会い 4 案件ではじめてDockerを触ったので 振り返ってみる
▪ 移動先のプロジェクトでDockerが使われていた ▫ 私は「コンテナ技術を使って簡単に環境が作れる」くらいの理解度。 ▫ ちゃんと触ったことがない。。。 5 Dockerとの出会い コンテナ? VirtualBoxなどの仮想環
境とは何が違うの? Windowsとの相性は大丈夫 だろうか?
▪ 分からないなりに環境構築してみる ① Docker Desktop for Windows インストール ② Gitリポジトリをクローン(Dockerの設定ファイルっぽいものがある)
③ docker-compose build でビルド ④ docker-compose up でコンテナ作成、起動 6 Dockerとの出会い リポジトリルート │ ├ APIサーバー │ └ Dockerfile │ ├ 管理画面アプリ │ └ Dockerfile │ └ docker-compose.yml コンテナ① コンテナ②
▪ たった数ステップで環境構築できてしまった。。。 7 Dockerとの出会い 過去の案件では1~2日か かっていたのに!
3 Dockerとは何なのか? 8 案件ではじめてDockerを触ったので 振り返ってみる
9 Dockerとは何なのか? ▪ コンテナ型仮想化を用いたアプリケーション実行環境 ▫ 2013年にDocker社がOSSとして発表 ▫ 良いところ ▪ 再現性、可搬性の高さ
▪ 何度でもスクラップ&ビルドできる ▫ 普及した背景 ▪ CI/CDとの相性の良さなど https://matsuand.github.io/docs.docker.jp.onthefly/get-started/overview/
10 Dockerとは何なのか? ▪ Dockerのアーキテクチャ https://docs.docker.jp/engine/introduction/understanding-docker.html
11 Dockerとは何なのか? ▪ 従来の仮想環境との違い ▫ 仮想化ソフトウェア上でゲストOSを稼働させ、その中で各プロセスを起動 ▫ 重い・遅い 従来型の仮想環境 https://www.docker.com/resources/what-container
12 Dockerとは何なのか? ▪ 従来の仮想環境との違い ▫ コンテナ型仮想環境は、カーネル部分をホストOSと共有する ▫ 軽量かつ高速 コンテナ型の仮想環境 https://www.docker.com/resources/what-container
13 Dockerとは何なのか? ▪ 環境構築の手順について理解する ▫ ① Docker Desktop for Windows
インストール ▪ macOS・Windowsで簡単にDockerを使うためのツール ▪ 2021年8月31日以降、条件付きで有償化(猶予期間あり) • https://www.docker.com/pricing
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 Dockerとは何なのか? ▪ 環境構築の手順について理解する ▫ ③ docker-compose build でビルド ▪
初回構築 or Dockerfile の変更を反映するとき実行 ▫ ④docker-compose up でコンテナ作成、起動 ▪ 初回構築 or docker-compose.yml の変更を反映するとき実行
4 Windows+Dockerでハマったこと 16 案件ではじめてDockerを触ったので 振り返ってみる
17 Windows+Dockerでハマったこと① ▪ 事象:特定のプロセスがホストOSのメモリを食いまくる ▫ 「Vmmem」というプロセスが異常にメモリを消費 ▫ まともにPCが動かない! ▪ 対策:メモリサイズを固定する
▫ 「.wslconfig」にWSL2の最大メモリサイズを記述する ▪ 参考:https://qiita.com/yoichiwo7/items/e3e13b6fe2f32c4c6120
18 Windows+Dockerでハマったこと② ▪ 事象:Gitクローン時の改行コード自動変換 ▫ ホスト側でのGitクローン時「LF → CRLF」に自動変換される ▫ シェルが起動できない!
▪ 対策:Gitの設定変更 ▫ git config --global core.autocrlf false ▪ 参考:https://qiita.com/uggds/items/00a1974ec4f115616580
19 Windows+Dockerでハマったこと③ ▪ 事象:Gitクローン時にシンボリックリンクが作られない ▫ アプリで必要なライブラリが参照できない状態 ▫ ライブラリが参照できない! ▪ 対策:Git+Windowsの設定変更
▫ git config --global core.symlinks true ▪ 参考:https://isgs-lab.com/440/
5 まとめ 20 案件ではじめてDockerを触ったので 振り返ってみる
21 まとめ ▪ Dockerを使うと環境の構築や変更がかなり楽になる! ▫ 早く実運用でDockerの良さを実感してみたい ▫ Docker Desktop の有償化問題は早めに検討を
今回特にお世話になったURL: https://knowledge.sakura.ad.jp/13265/ https://tech-lab.sios.jp/archives/18811
ご清聴ありがとうございました! 22