More Related Content
More from Shiojiri Ohhara (20)
Docker入門
- 2. ⮬ᕫ⤂
ཎ ៅ୍㑻䚷https://twitter.com/ohhara_shiojiri
䠄᭷䠅䝖䝷䝇䝖䝛䝑䝖䝽䞊䜽䝇䚷ሷᑼ䜲䞁䜻䝳䝧䞊䝅䝵䞁䝥䝷䝄䠍䠌䠔ྕᐊ
http://shiojiri-osslabo.com/
䞉㛗㔝┴ሷᑼᕷ䛻άືᣐⅬ䜢⨨䛟䚸ᕷෆ䝥䝻䜾䝷䝬䞊᭷ᚿ䛻䜘䜛ᅋయ
䞉䛂䜸䞊䝥䞁䛺⎔ቃ䛷䜸䞊䝥䞁䛺άື䜢┠ᣦ䛩䛃䜢ྜゝⴥ䛻㞟䛖
䞉CoderDojo Shiojiri 㛤ദ䚷䞉ᑠᏛ⏕㧗Ꮫᖺྥ䛡Rubyᩍᐊ㛤ദ
䞉ITᢏ⾡᭩䜢䝸䝤䝷䜲䝈䛷㈚䛧ฟ䛧䚸䜎䛯ᕷ❧ᅗ᭩㤋䛸༠ຊ
- 3. 䜰䝆䜵䞁䝎
● Docker䛻䛴䛔䛶
● 䝁䞁䝔䝘ᆺ䛾௬⎔ቃ
● ᕪศ⟶⌮䝅䝇䝔䝮
● 䜲䞁䝇䝖䞊䝹᪉ἲ
● 䝁䞁䝔䝘䛾㉳ື
● 䝁䞁䝔䝘䛸䜲䝯䞊䝆䛾๐㝖
● 䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື
● Dockerfile
● 䝺䝆䝇䝖䝸
- 4. Docker䛻䛴䛔䛶
● https://www.docker.com/
● ึ∧䛿2013ᖺ3᭶13᪥
● ᭱᪂∧䛿䚸1.2.0(2014ᖺ9᭶12᪥Ⅼ)
● 㛤Ⓨ⪅䠖Solomon HykesẶ
● Docker♫(ᪧdotCloud♫䛿2013ᖺ10᭶29᪥
䛻♫ྡኚ᭦)䛻䛶㛤Ⓨ
● 㛤Ⓨゝㄒ䠖Go
● ືస⎔ቃ䠖Linux䜹䞊䝛䝹2.6.32௨㝆 64bit
● 䝷䜲䝉䞁䝇䠖Apache License 2.0
- 5. 䝁䞁䝔䝘ᆺ䛾௬⎔ቃ
● 䝝䜲䝟䞊䝞䜲䝄䞊ᆺ
○ VirtualBox䜔VMWare䛺䛹䚹
○ 䠍ྎ䛾䝁䞁䝢䝳䞊䝍䞊ୖ䛻」ᩘ䛾䝁䞁䝢䝳䞊䝍䞊䜢䜶䝭䝳
䝺䞊䝖䠄௬䠅䛧䜎䛩䚹
○ 䝞䞊䝏䝱䝹䝬䝅䞁(VM)䛸⛠䛥䜜䜎䛩䚹
○ ᵝ䚻䛺OS⎔ቃ䜢䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䛜䛒䜛㝈䜚䚸」
ᩘ✌ാ䛷䛝䜎䛩䚹
○ 䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䛾ຠ⋡䛜ᅗ䜜䜛䚹
○ 䝝䞊䝗䜴䜵䜰䜢䜶䝭䝳䝺䞊䝖䛩䜛Ⅽ䚸䜸䞊䝞䞊䝦䝑䝗䛜Ⓨ
⏕䛩䜛ศ䚸VM⮬య䛾㏿ᗘ䛿䝩䝇䝖ഃ䜘䜚పୗ䛩䜛䚹
○ 䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䛾㓄ศ䛜ᅛᐃ䛥䜜䜛䚹
- 6. 䝁䞁䝔䝘ᆺ䛾௬⎔ቃ
● 䝁䞁䝔䝘ᆺ
○ Linux䜹䞊䝛䝹䛻APIᐇ䛥䜜䛶䛔䜛䚹
○ 0.9௨๓䛿LXC(Linux Containers)䛻౫Ꮡ䛧䛶䛔䜎䛧䛯䚹
○ 䜰䝥䝸䜿䞊䝅䝵䞁ືస⎔ቃ䛰䛡䜢ᢳ㇟䛧䛶䛔䜛䚹
○ 䝝䞊䝗䜴䜵䜰䛸䜹䞊䝛䝹䛿䝩䝇䝖ഃ䛸ඹ᭷䛩䜛䚹
○ 䝝䞊䝗䜴䜵䜰䜢䜶䝭䝳䝺䞊䝖䛧䛺䛔Ⅽ䚸䜸䞊䝞䞊䝦䝑䝗䛜
Ⓨ⏕䛧䛺䛔䛾䛷䚸VM䜘䜚㧗㏿䛻ືస䛩䜛䚹
○ 䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䜒ඹ᭷䛺䛾䛷ᅛᐃ䛥䜜䛺䛔䚹
○ VM䛷䛿↓䛔䛾䛷䚸Linux௨እ䛾OS䛿ືస䛧䛺䛔䚹
○ 䝃䞊䝞䞊䛾VM䛷✌ാ䛥䛫䛶䛔䜛䛾䛿LAMP⎔ቃ䜀䛛䜚
䛺䛾䛷䚸VM䛾ᚲせᛶ䛜↓䛔䜽䝷䜴䝗⎔ቃ䛷ὀ┠䛥䜜䛶
䛔䜛䚹
- 7. ᕪศ⟶⌮䝅䝇䝔䝮
● AUFS (Another Unionfs)
○ ㏱㐣ⓗ䛻䝣䜯䜲䝹䝅䝇䝔䝮䜢⟶⌮䛷䛝䜎䛩䚹
○ LiveCD䛻䛶䝯䝰䝸✵㛫䜢᭩䛝䛘ྍ⬟㡿ᇦ䛸䛧䛶⏝
䛩䜛᪉ἲ䛸䛧䛶䜟䜜䛶䛔䜎䛩䚹
● ᕪศ⟶⌮
○ 䝣䜯䜲䝹⟶⌮䛻AUFS䜢⏝䛧䛶䛔䜛䚹
○ AUFS䛾ㄞ᭩ᒓᛶ䛾ኚ᭦䜢⏝䛧䛶䛔䜛䚹
○ 䝁䞁䝔䝘䛾㉳ື䜔ኚ᭦ẖ䛻ᒙ䠄䝺䜲䝲䞊䠅⟶⌮
○ ኚ᭦䛰䛡䜢ಖᏑ䛩䜛䚹
○ 㔜」䛩䜛↓㥏䛜Ⓨ⏕䛧䛺䛔䚹
- 8. 䜲䞁䝇䝖䞊䝹᪉ἲ
● Linux⎔ቃ䛾䛒䜛ሙྜ
○ Ubuntu䛾ሙྜ
■ 12.04LTS௨㝆64bit∧䛻䛶ᑐᛂ䛧䛶䛔䜎䛩䚹
○ CentOS䛾ሙྜ
■ 6.5௨㝆64bit∧䛻䛶ᑐᛂ䛧䛶䛔䜎䛩䚹
● Windows䜔MacOS䛾ሙྜ
○ VirtualBox䛷Linux䜢✌ാ䛥䛫䛶⏝䛧䜎䛩䚹
○ ᑓ⏝䛾䝕䜱䝇䝖䝸䝡䝳䞊䝅䝵䞁䛂boot2docker䛃䛜䛒䜚䜎
䛩䚹
○ https://github.com/boot2docker/boot2docker/releases
- 9. 䜲䞁䝇䝖䞊䝹᪉ἲ
● Ubuntu䛾ሙྜ
○ ⨜䠍䠖ྠ䛨ྡ⛠䛾ู䛺䝟䝑䜿䞊䝆䛜䛒䜛䚹
■ apt-get install docker
○ ⨜䠎䠖ᶆ‽䝟䝑䜿䞊䝆䛾䝞䞊䝆䝵䞁䛜ྂ䛔(0.9)
■ apt-get install docker.io
○ බᘧ䝗䜻䝳䝯䞁䝖䜢ཧ↷
■ http://docs.docker.com/installation/ubuntulinux/
○ 䜲䞁䝇䝖䞊䝹⏝䛾䝇䜽䝸䝥䝖䛜⏝ព䛥䜜䛶䛔䜎䛩䚹
■ curl -sSL https://get.docker.io/ubuntu/ | sudo sh
○ 䝞䞊䝆䝵䞁䜢☜ㄆ䛧䛶䜏䜎䛩䚹
■ docker version
- 10. 䜲䞁䝇䝖䞊䝹᪉ἲ
● rootᶒ㝈
○ 䝋䜿䝑䝖䝣䜯䜲䝹(/var/run/docker.sock)䛿୍⯡䝴䞊䝄䞊
䛻᭩䛝㎸䜏ᶒ㝈䛜↓䛔Ⅽ䚸docker䝁䝬䞁䝗䛻rootᶒ㝈䛜
ᚲせ䛻䛺䜚䜎䛩䚹
○ docker䜾䝹䞊䝥䛻䛿䚸᭩䛝㎸䜏ᶒ㝈䛜䛥䜜䛶䛔䜛
䛾䛷䚸䝴䞊䝄䞊䜢docker䜾䝹䞊䝥䛻㏣ຍ䛩䜛䛷䚸
sudo䝁䝬䞁䝗䛜せ䛻䛺䜚䜎䛩䚹
○ sudo gpasswd -a user docker
■ -a 䝴䞊䝄䞊ྡ䠄䛣䛣䛷䛿user䠅䜢ᣦᐃ䛩䜛䚹
○ 䝻䜾䜲䞁䛩䜛䛷᭷ຠ䛻䛺䜛䚹
- 11. 䜲䞁䝇䝖䞊䝹᪉ἲ
● CentOS䛾ሙྜ
○ CentOS 7䛾ሙྜ
■ yum install docker
○ CentOS 6䛾ሙྜ
■ EPEL䝸䝫䝆䝖䝸䛻䝟䜿䞊䝆䛜䛒䜚䜎䛩䚹
■ yum install docker-io
■ service docker start
■ chkconfig docker on
○ බᘧ䝗䜻䝳䝯䞁䝖䜢ཧ↷
■ https://docs.docker.com/installation/centos/
○ 䝞䞊䝆䝵䞁䜢☜ㄆ䛧䛶䜏䜎䛩䚹
■ docker version
- 12. 䝁䞁䝔䝘䛾㉳ື
● 䝁䞁䝔䝘䜲䝯䞊䝆
○ 䝁䞁䝔䝘䛾ඖ䛻䛺䜛䜲䝯䞊䝆䛜䝔䞁䝥䝺䞊䝖䛸䛧䛶බ㛤䛥
䜜䛶䛔䜎䛩䚹
■ https://registry.hub.docker.com/
○ 䝕䜱䝇䝖䝸䝡䝳䞊䝅䝵䞁ẖ䛻ᵝ䚻䛺䜲䝯䞊䝆䛜䛒䜚䜎䛩䚹
○ 䝎䜴䞁䝻䞊䝗䛧䛯䜲䝯䞊䝆䛿䚸䝻䞊䜹䝹䜻䝱䝑䝅䝳䛷
⏝䛷䛝䜎䛩䚹
○ 䝣䜯䜲䝹䛾ᕪศ䛛䜙ู䛾䜲䝯䞊䝆䜢సᡂ䛷䛝䜎䛩䚹
○ సᡂ䛧䛯䜲䝯䞊䝆䜢୍⯡䛻බ㛤䛷䛝䜎䛩䚹
○ ඹྠ㛤Ⓨ⪅䛸సᡂ䛧䛯䜲䝯䞊䝆䜢ඹ᭷⏝䛷䛝䜎䛩䚹
○ ␗䛺䜛䜽䝷䜴䝗䝃䞊䝡䝇㛫䛷䜒ඹ㏻䛻⏝䛷䛝䜎䛩䚹
- 13. 䝁䞁䝔䝘䛾㉳ື
● docker pull
○ 䝁䞁䝔䝘䜲䝯䞊䝆䜢䝎䜴䞁䝻䞊䝗䛧䜎䛩䚹
○ 䜸䝥䝅䝵䞁䛻䜲䝯䞊䝆ྡ䛸䝍䜾ྡ䜢䛂䠖䛃䛷ᣦᐃ䛧䜎䛩䚹
■ docker pull ubuntu:latest
○ 䜸䝸䝆䝘䝹䜲䝯䞊䝆䛾ሙྜ䚸䜲䝯䞊䝆ྡ䛻ຍ䛘䛶䝴䞊
䝄䞊ྡ䜢䛂䠋䛃䛷༊ษ䛳䛶䛡䜛䚹
■ docker pull user/ubuntu:latest
○ 䝍䜾ྡ䛷䝞䞊䝆䝵䞁ᣦᐃฟ᮶䜎䛩䛜䚸┬␎䛩䜛䛸᭱᪂
∧䠄latest䠅䛾ᣦᐃ䛻䛺䜚䜎䛩䚹
■ docker pull ubuntu:14.04
● docker images
䝻䞊䜹䝹䜻䝱䝑䝅䝳䛻䛒䜛䜲䝯䞊䝆䛾୍ぴ⾲♧䚹
- 14. 䝁䞁䝔䝘䛾㉳ື
● docker run
○ 䜲䝯䞊䝆䛛䜙䝁䞁䝔䝘䜢㉳ື䛧䜎䛩䚹
○ docker run -i -t ubuntu /bin/bash
■ -i䚷䜲䞁䝍䝷䜽䝔䜱䝤䝰䞊䝗䛷㉳ື䛩䜛䚹
■ -t䚷tty➃ᮎ䜲䞁䝍䞊䝣䜵䞊䝇䛷㉳ື䛩䜛䚹
■ 䜲䝯䞊䝆ྡ䛿ubuntu䚸䝍䜾ྡ䛿┬␎䛷䛝䜎䛩䚹
■ bash䜢ᐇ⾜䛧䛶䝻䜾䜲䞁䛩䜛䚹
○ 䝔䝇䝖⏝䛻ఱ䛛䝣䜯䜲䝹䜢సᡂ䛧䛶䜏䜎䛩䚹
■ touch /tmp/test.txt
○ ⤊䛩䜛䛻䛿䚸䛂Ctrl䛃䠇䛂D䛃䜻䞊䛛exit䝁䝬䞁䝗
○ 䝥䝻䝉䝇䛾⤊䛻క䛳䛶䚸䝁䞁䝔䝘䜒Ṇ䛧䜎䛩䚹
- 15. 䝁䞁䝔䝘䛾㉳ື
● docker ps
○ 䝁䞁䝔䝘䛾୍ぴ⾲♧䛧䜎䛩䚹
○ Ṇ䛧䛯䝁䞁䝔䝘䛿-a䜸䝥䝅䝵䞁䜢䛡䜛䚹
■ docker ps -a
○ ᒚṔ䛸䛧䛶ᕪศ䛷⏝䛧䜎䛩䚹
● ㉳ື
○ 䜒䛖୍ᗘ䝁䞁䝔䝘䜢㉳ື䛧䛶䜏䜎䛩䚹
■ docker run -i -t ubuntu /bin/bash
○ ๓ᅇ䝔䝇䝖⏝䛻సᡂ䛧䛯䝣䜯䜲䝹䜢☜ㄆ䛧䛶䜏䜎䛩䚹
■ ls /tmp -l
○ 䝁䞁䝔䝘䛿䜲䝯䞊䝆䛾ึᮇ≧ែ䛾䜎䜎䛷䛩䚹
○ ඖ䛾䜲䝯䞊䝆䛿ኚ᭦䛥䜜䜎䛫䜣䚹
- 16. 䝁䞁䝔䝘䛾㉳ື
● docker start
○ Ṇ䛧䛯䝁䞁䝔䝘䜢ᐇ⾜䛧䜎䛩䚹
○ 䝁䞁䝔䝘䛾୍ぴ⾲♧䛧䜎䛩䚹
■ docker ps -a
○ 䝁䞁䝔䝘䛜ᒚṔ䛸䛧䛶䠎䛴⾲♧䛥䜜䜎䛩䚹
○ ᭱ึ䛾䝁䞁䝔䝘䜢ᐇ⾜䛧䛶䜏䜎䛩䚹
■ docker start -i a9876543210
■ -i 䝅䜵䝹⏝䛩䜛ሙྜ䛿䜲䞁䝍䝷䜽䝔䜱䝤䝰䞊䝗
○ ๓ᅇ䝔䝇䝖⏝䛻సᡂ䛧䛯䝣䜯䜲䝹䜢☜ㄆ䛧䛶䜏䜎䛩䚹
■ ls /tmp -l
○ ኚ᭦䛧䛯䝁䞁䝔䝘䛷䛒䜛䛣䛸䜢☜ㄆฟ᮶䜎䛩䚹
- 17. 䝁䞁䝔䝘䛾㉳ື
● docker commit
○ 䝁䞁䝔䝘䛛䜙䜲䝯䞊䝆䜢సᡂ䛧䜎䛩䚹
■ docker commit a9876543210 user/ubuntu
○ ๓ᅇ䝔䝇䝖⏝䛻䝣䜯䜲䝹䜢సᡂ䛧䛯䝁䞁䝔䝘䛛䜙䜲䝯䞊䝆
䜢సᡂ䛧䛶䜏䜎䛩䚹
○ 䜲䝯䞊䝆䛜సᡂฟ᮶䛯䜙䚸୍ぴ⾲♧䛧䛶☜ㄆ䛧䜎䛩䚹
■ docker images
○ సᡂ䛧䛯䜲䝯䞊䝆䛛䜙䝁䞁䝔䝘䜢㉳ື䛧䜎䛩䚹
■ docker run -i -t user/ubuntu /bin/bash
○ ๓ᅇ䝔䝇䝖⏝䛻సᡂ䛧䛯䝣䜯䜲䝹䜢☜ㄆ䛧䛶䜏䜎䛩䚹
■ ls /tmp -l
○ 䜲䝯䞊䝆䛜᭦᪂䛥䜜䛯䛜☜ㄆฟ᮶䜎䛩䚹
- 18. 䝁䞁䝔䝘䛸䜲䝯䞊䝆䛾๐㝖
● docker rm
○ 䝁䞁䝔䝘䜢๐㝖䛧䜎䛩䚹
○ 䝔䝇䝖⏝䛻⏝䛧䛯䝁䞁䝔䝘䜢๐㝖䛧䛶䜏䜘䛖䚹
■ docker ps -a
■ docker rm a9876543210
■ docker ps -a
● docker rmi
○ 䜲䝯䞊䝆䜢๐㝖䛧䜎䛩䚹
○ 䝔䝇䝖⏝䛻సᡂ䛧䛯䜲䝯䞊䝆䜢๐㝖䛧䛶䜏䜘䛖䚹
■ docker images
■ docker rmi user/ubuntu
■ docker images
- 19. 䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື
● 䝃䞊䝡䝇䛾䜲䝯䞊䝆䜢సᡂ
○ 䛸䛧䛶web䝃䞊䝞䞊䛾nginx䝃䞊䝡䝇⏝䜲䝯䞊䝆䜢స
ᡂ䛧䛶䜏䜎䛩䚹
○ ඖ䛻䛺䜛䝁䞁䝔䝘䜢㉳ື䛧䜎䛩䚹
■ docker run -i -t ubuntu /bin/bash
○ 䝁䞁䝔䝘ෆ䛷nginx䜢䜲䞁䝇䝖䞊䝹䛧䜎䛩䚹
■ apt-get update
■ apt-get install -y nginx
○ 䝁䞁䝔䝘䜢Ṇ䛧䛯ᚋ䚸䜲䝯䞊䝆䜢సᡂ䛧䜎䛩䚹
■ docker ps -a
■ docker commit b9876543210 nginx/ubuntu
■ docker images
- 20. 䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື
● 䝞䝑䜽䜾䝷䜴䞁䝗䛷䝁䞁䝔䝘䜢㉳ື
○ సᡂ䛧䛯䜲䝯䞊䝆䜢䝃䞊䝡䝇䛸䛧䛶䝞䝑䜽䜾䝷䜴䞁䝗䛷㉳
ື䛥䛫䜎䛩䚹
○ docker run -d -p 80:80 nginx/ubuntu /usr/sbin/nginx -
g 'daemon off;' -c /etc/nginx/nginx.conf
■ -d 䝞䝑䜽䜾䝷䜴䞁䝗㉳ື䜸䝥䝅䝵䞁
■ -p 䝩䝇䝖ഃ䛸䝁䞁䝔䝘ഃ䛾䝫䞊䝖㌿㏦䜸䝥䝅䝵䞁
■ 䝁䞁䝔䝘ෆ䛷䛿䝣䜷䜰䜾䝷䜴䞁䝗䛷✌ാ䛥䛫䛺䛔䛸
Ṇ䛧䛶䛧䜎䛖䛾䛷䚸nginx䛾䝕䞊䝰䞁ືస䜢↓ຠ䛧
䛶䛔䜎䛩䚹
- 21. 䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື
● 䝁䞁䝔䝘䛾䝃䞊䝡䝇䜢☜ㄆ
○ 䝁䞁䝔䝘䛾୍ぴ䜢☜ㄆ䛧䛶䜏䜎䛩䚹
■ docker ps
○ 䝩䝇䝖ഃ䛾80␒䝫䞊䝖䛻䝃䞊䝡䝇䛜✌ാ䛧䛶䛔䜛䜢☜
ㄆ䛧䛶䜏䜎䛩䚹
■ curl localhost:80
■ web䝤䝷䜴䝄䛷nginx䛾䝕䝣䜷䝹䝖䝨䞊䝆䛜⾲♧䛥䜜
䜎䛩䚹
- 22. 䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື
● 䝁䞁䝔䝘䛾Ṇ䛸ᐇ⾜
○ 䝁䞁䝔䝘䜢Ṇ䛧䛶䜏䜎䛩䚹
■ docker ps
■ docker stop c987654321
■ docker ps -a
■ curl localhost:80
○ Ṇ䛧䛯䝁䞁䝔䝘䜢ᐇ⾜䛧䛶䜏䜎䛩䚹
■ docker ps -a
■ docker start c9876543210
■ docker ps
■ curl localhost:80
- 23. Dockerfile
● 䜲䝯䞊䝆సᡂ䛻䛚䛡䜛ၥ㢟Ⅼ
○ 䝁䞁䝔䝘䛾ᵓᡂ䛻䛴䛔䛶䛾グ㘓䛜ḧ䛧䛔䚹
○ 」ᩘ䛾䝁䝬䞁䝗䜢ᐇ⾜䛧䛺䛡䜜䜀䛺䜙䛺䛔䚹
○ ᡭືసᡂ䛩䜛㐣⛬䛷䝭䝇䜢㑊䛡䜙䜜䛺䛔䚹
● Dockerfile
○ సᡂ䛩䜛䝁䞁䝔䝘䛾ᵓᡂ䜢グ㏙䛩䜛䚹
○ 䠍⾜䛻䛴䛝䠍䛴䛾ᣦ♧䛷䚸㡰␒䛻ᐇ⾜䛥䜜䜎䛩䚹
○ 䛂䠀䛃䛷䝁䝯䞁䝖䜒グ㏙ฟ᮶䜛䚹
○ Dockerfile䜢⏝䛧䛶䜲䝯䞊䝆䜢⮬ືసᡂ䛩䜛䛜ฟ᮶
䜛䚹
- 24. Dockerfile
● 䜲䝯䞊䝆䛾⮬ືసᡂ
○ nginx䝃䞊䝡䝇䛾䜲䝯䞊䝆䜢⮬ືసᡂ䛧䛶䜏䜎䛩䚹
○ 㐺ᙜ䛺ሙᡤ䛷䚸Dockerfile䜢సᡂ䛧䜎䛩䚹
■ mkdir docker docker/nginx
■ cd docker/nginx
■ vi Dockerfile
# FROM ඖ䜲䝯䞊䝆ྡ
FRON ubuntu
# RUN 䝁䞁䝔䝘ෆ䛷䛾ᐇ⾜䝁䝬䞁䝗
RUN apt-get update
RUN apt-get install -y nginx
# ENTRYPOINT䚷䝁䞁䝔䝘䛾ᐇ⾜䝁䝬䞁䝗
ENTRYPOINT /usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf
- 25. Dockerfile
● docker build
○ Dockerfile䛛䜙䜲䝯䞊䝆䜢సᡂ䛧䜎䛩䚹
○ docker build -t nginx/ubuntu:1.0 .
■ -t సᡂ䛩䜛䜲䝯䞊䝆ྡ䛸䝍䜾ྡ䜢䛂䠖䛃䛷ᣦᐃ䛩䜛䚹
■ Dockerfile䛾ሙᡤ䜢ᣦᐃ䛩䜛䚹
■ 䛣䛣䛷䛿䜹䝺䞁䝖䝕䜱䝺䜽䝖䝸䛂䠊䛃䛷ᣦᐃ䚹
○ Dockerfile䛾グ㏙㏻䜚䛻䚸ඖ䜲䝯䞊䝆䛛䜙䝁䞁䝔䝘䜢㉳ື
䛧䛶䚸nginx䛜䜲䞁䝇䝖䞊䝹䛥䜜䜎䛩䚹
○ 䝁䞁䝔䝘䛛䜙ᣦᐃ䛧䛯ྡ⛠䛾䜲䝯䞊䝆సᡂ䜎䛷୍ᗘ䛻ᐇ
⾜䛥䜜䜎䛩䚹
○ ⏝䛥䜜䛯䝁䞁䝔䝘䛿๐㝖䛥䜜䛶ṧ䜚䜎䛫䜣䚹
- 26. Dockerfile
● 䜲䝯䞊䝆䛾☜ㄆ
○ ⮬ືసᡂ䛥䜜䛯䜲䝯䞊䝆䜢⏝䛧䛶䚸nginx䝃䞊䝞䞊䛾
䝃䞊䝡䝇䝁䞁䝔䝘䜢㉳ື䛧䛶䜏䜎䛧䜗䛖䚹
○ docker images
○ docker ps
○ docker run -d -p 80:80 nginx/ubuntu:1.0
○ 䝁䞁䝔䝘䛾ᐇ⾜䝁䝬䞁䝗䜢┬␎䛧䛶㉳ື䛷䛝䜛䚹
○ docker ps
○ curl localhost:80
- 27. 䝺䝆䝇䝖䝸
● 䝺䝆䝇䝖䝸
○ 䝁䞁䝔䝘䛾䜲䝯䞊䝆䜢ඹ᭷⟶⌮䛩䜛⤌䜏䚹
○ 䜲䝯䞊䝆䛿ᵓᡂሗ䛸ඹ䛻༢୍䛾䝸䝫䝆䝖䝸䛸䛧䛶ᢅ䜟
䜜䜛䚹
○ ᶆ‽䛷䛿බᘧ䛾䛂Docker Hub䛃䛜タᐃ䛥䜜䛶䛔䜛䚹
○ බᘧ䛾䝸䝫䝆䝖䝸䠄䜲䝯䞊䝆䝔䞁䝥䝺䞊䝖䠅䛾㓄ᕸඖ䛷䛩䚹
○ 䝥䝷䜲䝧䞊䝖䛾䝺䝆䝇䝖䝸䜒ᵓ⠏ฟ᮶䜛䚹
○ 䠎䛴䛾Ⓩ㘓᪉ἲ䛜䛒䜛䚹
■ 䝻䞊䜹䝹䛾䝸䝫䝆䝖䝸䜢┤᥋䜰䝑䝥䝻䞊䝗䛩䜛䚹
■ Dockerfile䛛䜙⮬ື⏕ᡂ䛧䛶Ⓩ㘓䛩䜛䚹
- 28. 䝺䝆䝇䝖䝸
● docker login
○ බᘧ䝺䝆䝇䝖䝸䛂Docker Hub䛃䛻䝴䞊䝄䞊Ⓩ㘓䛧䜎䛩䚹
■ https://docker.com/
■ 䝥䝷䜲䝧䞊䝖䝸䝫䝆䝖䝸䠍䛴䜎䛷䛿↓ᩱ
○ 䝴䞊䝄䞊Ⓩ㘓䛧䛯䜰䜹䜴䞁䝖䛸䝟䝇䝽䞊䝗䛚䜘䜃䝯䞊䝹䜰
䝗䝺䝇䛷䝻䜾䜲䞁ฟ᮶䜎䛩䚹
○ 䝻䜾䜲䞁≧ἣ䜢docker info䛷☜ㄆ䛧䛶䜏䜎䛩䚹
● docker info
○ Docker䛾⎔ቃሗ䜢⾲♧䛧䜎䛩䚹
○ Username䛸Registry䛷䝺䝆䝇䝖䝸䛜☜ㄆฟ᮶䜎䛩䚹
○ 䝞䞊䝆䝵䞁⾲♧䛥䜜䜎䛩䚹
- 29. 䝺䝆䝇䝖䝸
● docker push
○ බᘧ䝺䝆䝇䝖䝸䛂Docker HUB䛃䛻䝸䝫䝆䝖䝸䜢Ⓩ㘓䛧䜎
䛩䚹
○ Ⓩ㘓䛧䛯䝴䞊䝄䞊䜰䜹䜴䞁䝖ྡ䜢䛂䠋䛃䛷ᣦᐃ䛩䜛䚹
■ docker push docker_user/repository
○ 䝥䝷䜲䝧䞊䝖䝺䝆䝇䝖䝸䛾ሙྜ䛿䚸䝴䞊䝄䞊䜰䜹䜴䞁䝖ྡ
䛾௦䜟䜚䛻䚸䝩䝇䝖ྡ䛛IP䜰䝗䝺䝇ཬ䜃䝫䞊䝖␒ྕ䜢ᣦ
ᐃ䛧䜎䛩䚹
■ docker push example.com:5000/repository
○ Ⓩ㘓䛧䛯䝸䝫䝆䝖䝸䛿䚸docker pull䝁䝬䞁䝗䛷䝎䜴䞁䝻䞊
䝗䛧䛶⏝ฟ᮶䜎䛩䚹
- 30. 䝺䝆䝇䝖䝸
● docker search
○ 䝺䝆䝇䝖䝸䛻Ⓩ㘓䛥䜜䛶䛔䜛䝸䝫䝆䝖䝸䜢᳨⣴䛧䜎䛩䚹
○ ᶆ‽䛷䛿බᘧ䝺䝆䝇䝖䝸䛂Docker HUB䛃䛾䝸䝫䝆䝖䝸䜢᳨
⣴⾲♧䛧䜎䛩䚹
○ docker search centos
○ OFFICIAL䛜බᘧ䝸䝫䝆䝖䝸
○ AUTOMATED䛿⮬ື䝡䝹䝗䛾䝸䝫䝆䝖䝸
- 31. 䝺䝆䝇䝖䝸
● Automated Build
○ Dockerfile䛛䜙Docker Hubୖ䛷䝸䝫䝆䝖䝸䜢web⏬㠃᧯
స䛷⮬ືసᡂ䛧䜎䛩䚹
○ GitHub䜎䛯䛿Bitbucket䛾䜰䜹䜴䞁䝖䛜ᚲせ䚹
○ Dockerfile䜢GitHub䜎䛯䛿Bitbucket䛻Ⓩ㘓䚹
○ Docker Hub䛾㐃ᦠᶵ⬟䛷䚸䝁䞁䝔䝘䛾⏕ᡂ䛛䜙䜲䝯䞊
䝆సᡂ䛸Ⓩ㘓䜢⮬ືⓗ䛻ฟ᮶䜛䚹
○ 䝖䝸䜺䞊タᐃ䛷䚸Dockerfile䛾ኚ᭦䛻ྜ䜟䛫䛶⮬ື䝡䝹
䝗䛜ฟ᮶䜛䚹