SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Docker ධ㛛 
䝁䞁䝔䝘⟶⌮䝅䝇䝔䝮
⮬ᕫ⤂௓ 
኱ཎ ៅ୍㑻䚷https://twitter.com/ohhara_shiojiri 
䠄᭷䠅䝖䝷䝇䝖䝛䝑䝖䝽䞊䜽䝇䚷ሷᑼ䜲䞁䜻䝳䝧䞊䝅䝵䞁䝥䝷䝄䠍䠌䠔ྕᐊ 
http://shiojiri-osslabo.com/ 
䞉㛗㔝┴ሷᑼᕷ䛻άືᣐⅬ䜢⨨䛟䚸ᕷෆ䝥䝻䜾䝷䝬䞊᭷ᚿ䛻䜘䜛ᅋయ 
䞉䛂䜸䞊䝥䞁䛺⎔ቃ䛷䜸䞊䝥䞁䛺άື䜢┠ᣦ䛩䛃䜢ྜゝⴥ䛻㞟䛖 
䞉CoderDojo Shiojiri 㛤ദ䚷䞉ᑠᏛ⏕㧗Ꮫᖺྥ䛡Rubyᩍᐊ㛤ദ 
䞉ITᢏ⾡᭩䜢䝸䝤䝷䜲䝈䛷㈚䛧ฟ䛧䚸䜎䛯ᕷ❧ᅗ᭩㤋䛸༠ຊ
䜰䝆䜵䞁䝎 
● Docker䛻䛴䛔䛶 
● 䝁䞁䝔䝘ᆺ䛾௬᝿໬⎔ቃ 
● ᕪศ⟶⌮䝅䝇䝔䝮 
● 䜲䞁䝇䝖䞊䝹᪉ἲ 
● 䝁䞁䝔䝘䛾㉳ື 
● 䝁䞁䝔䝘䛸䜲䝯䞊䝆䛾๐㝖 
● 䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື 
● Dockerfile 
● 䝺䝆䝇䝖䝸
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
䝁䞁䝔䝘ᆺ䛾௬᝿໬⎔ቃ 
● 䝝䜲䝟䞊䝞䜲䝄䞊ᆺ 
○ VirtualBox䜔VMWare䛺䛹䚹 
○ 䠍ྎ䛾䝁䞁䝢䝳䞊䝍䞊ୖ䛻」ᩘ䛾䝁䞁䝢䝳䞊䝍䞊䜢䜶䝭䝳 
䝺䞊䝖䠄௬᝿໬䠅䛧䜎䛩䚹 
○ 䝞䞊䝏䝱䝹䝬䝅䞁(VM)䛸࿧⛠䛥䜜䜎䛩䚹 
○ ᵝ䚻䛺OS⎔ቃ䜢䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䛜䛒䜛㝈䜚䚸」 
ᩘ✌ാ䛷䛝䜎䛩䚹 
○ 䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䛾ຠ⋡໬䛜ᅗ䜜䜛䚹 
○ 䝝䞊䝗䜴䜵䜰䜢䜶䝭䝳䝺䞊䝖䛩䜛Ⅽ䚸䜸䞊䝞䞊䝦䝑䝗䛜Ⓨ 
⏕䛩䜛ศ䚸VM⮬య䛾㏿ᗘ䛿䝩䝇䝖ഃ䜘䜚పୗ䛩䜛䚹 
○ 䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䛾㓄ศ䛜ᅛᐃ໬䛥䜜䜛䚹
䝁䞁䝔䝘ᆺ䛾௬᝿໬⎔ቃ 
● 䝁䞁䝔䝘ᆺ 
○ Linux䜹䞊䝛䝹䛻APIᐇ⿦䛥䜜䛶䛔䜛䚹 
○ 0.9௨๓䛿LXC(Linux Containers)䛻౫Ꮡ䛧䛶䛔䜎䛧䛯䚹 
○ 䜰䝥䝸䜿䞊䝅䝵䞁ືస⎔ቃ䛰䛡䜢ᢳ㇟໬䛧䛶䛔䜛䚹 
○ 䝝䞊䝗䜴䜵䜰䛸䜹䞊䝛䝹䛿䝩䝇䝖ഃ䛸ඹ᭷䛩䜛䚹 
○ 䝝䞊䝗䜴䜵䜰䜢䜶䝭䝳䝺䞊䝖䛧䛺䛔Ⅽ䚸䜸䞊䝞䞊䝦䝑䝗䛜 
Ⓨ⏕䛧䛺䛔䛾䛷䚸VM䜘䜚㧗㏿䛻ືస䛩䜛䚹 
○ 䝁䞁䝢䝳䞊䝍䞊䝸䝋䞊䝇䜒ඹ᭷䛺䛾䛷ᅛᐃ໬䛥䜜䛺䛔䚹 
○ VM䛷䛿↓䛔䛾䛷䚸Linux௨እ䛾OS䛿ືస䛧䛺䛔䚹 
○ 䝃䞊䝞䞊䛾VM䛷✌ാ䛥䛫䛶䛔䜛䛾䛿LAMP⎔ቃ䜀䛛䜚 
䛺䛾䛷䚸VM䛾ᚲせᛶ䛜↓䛔䜽䝷䜴䝗⎔ቃ䛷ὀ┠䛥䜜䛶 
䛔䜛䚹
ᕪศ⟶⌮䝅䝇䝔䝮 
● AUFS (Another Unionfs) 
○ ㏱㐣ⓗ䛻䝣䜯䜲䝹䝅䝇䝔䝮䜢⟶⌮䛷䛝䜎䛩䚹 
○ LiveCD䛻䛶䝯䝰䝸✵㛫䜢᭩䛝᥮䛘ྍ⬟㡿ᇦ䛸䛧䛶฼⏝ 
䛩䜛᪉ἲ䛸䛧䛶౑䜟䜜䛶䛔䜎䛩䚹 
● ᕪศ⟶⌮ 
○ 䝣䜯䜲䝹⟶⌮䛻AUFS䜢౑⏝䛧䛶䛔䜛䚹 
○ AUFS䛾ㄞ᭩ᒓᛶ䛾ኚ᭦䜢฼⏝䛧䛶䛔䜛䚹 
○ 䝁䞁䝔䝘䛾㉳ື䜔ኚ᭦ẖ䛻ᒙ䠄䝺䜲䝲䞊䠅⟶⌮ 
○ ኚ᭦䛰䛡䜢ಖᏑ䛩䜛䚹 
○ 㔜」䛩䜛↓㥏䛜Ⓨ⏕䛧䛺䛔䚹
䜲䞁䝇䝖䞊䝹᪉ἲ 
● Linux⎔ቃ䛾䛒䜛ሙྜ 
○ Ubuntu䛾ሙྜ 
■ 12.04LTS௨㝆64bit∧䛻䛶ᑐᛂ䛧䛶䛔䜎䛩䚹 
○ CentOS䛾ሙྜ 
■ 6.5௨㝆64bit∧䛻䛶ᑐᛂ䛧䛶䛔䜎䛩䚹 
● Windows䜔MacOS䛾ሙྜ 
○ VirtualBox䛷Linux䜢✌ാ䛥䛫䛶౑⏝䛧䜎䛩䚹 
○ ᑓ⏝䛾䝕䜱䝇䝖䝸䝡䝳䞊䝅䝵䞁䛂boot2docker䛃䛜䛒䜚䜎 
䛩䚹 
○ https://github.com/boot2docker/boot2docker/releases
䜲䞁䝇䝖䞊䝹᪉ἲ 
● 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
䜲䞁䝇䝖䞊䝹᪉ἲ 
● rootᶒ㝈 
○ 䝋䜿䝑䝖䝣䜯䜲䝹(/var/run/docker.sock)䛿୍⯡䝴䞊䝄䞊 
䛻᭩䛝㎸䜏ᶒ㝈䛜↓䛔Ⅽ䚸docker䝁䝬䞁䝗䛻rootᶒ㝈䛜 
ᚲせ䛻䛺䜚䜎䛩䚹 
○ docker䜾䝹䞊䝥䛻䛿䚸᭩䛝㎸䜏ᶒ㝈䛜௜୚䛥䜜䛶䛔䜛 
䛾䛷䚸䝴䞊䝄䞊䜢docker䜾䝹䞊䝥䛻㏣ຍ䛩䜛஦䛷䚸 
sudo䝁䝬䞁䝗䛜୙せ䛻䛺䜚䜎䛩䚹 
○ sudo gpasswd -a user docker 
■ -a 䝴䞊䝄䞊ྡ䠄䛣䛣䛷䛿user䠅䜢ᣦᐃ䛩䜛䚹 
○ ෌䝻䜾䜲䞁䛩䜛஦䛷᭷ຠ䛻䛺䜛䚹
䜲䞁䝇䝖䞊䝹᪉ἲ 
● 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
䝁䞁䝔䝘䛾㉳ື 
● 䝁䞁䝔䝘䜲䝯䞊䝆 
○ 䝁䞁䝔䝘䛾ඖ䛻䛺䜛䜲䝯䞊䝆䛜䝔䞁䝥䝺䞊䝖䛸䛧䛶බ㛤䛥 
䜜䛶䛔䜎䛩䚹 
■ https://registry.hub.docker.com/ 
○ 䝕䜱䝇䝖䝸䝡䝳䞊䝅䝵䞁ẖ䛻ᵝ䚻䛺䜲䝯䞊䝆䛜䛒䜚䜎䛩䚹 
○ 䝎䜴䞁䝻䞊䝗䛧䛯䜲䝯䞊䝆䛿䚸䝻䞊䜹䝹䜻䝱䝑䝅䝳䛷෌฼ 
⏝䛷䛝䜎䛩䚹 
○ 䝣䜯䜲䝹䛾ᕪศ䛛䜙ู䛾䜲䝯䞊䝆䜢సᡂ䛷䛝䜎䛩䚹 
○ సᡂ䛧䛯䜲䝯䞊䝆䜢୍⯡䛻බ㛤䛷䛝䜎䛩䚹 
○ ඹྠ㛤Ⓨ⪅䛸సᡂ䛧䛯䜲䝯䞊䝆䜢ඹ᭷฼⏝䛷䛝䜎䛩䚹 
○ ␗䛺䜛䜽䝷䜴䝗䝃䞊䝡䝇㛫䛷䜒ඹ㏻䛻฼⏝䛷䛝䜎䛩䚹
䝁䞁䝔䝘䛾㉳ື 
● docker pull 
○ 䝁䞁䝔䝘䜲䝯䞊䝆䜢䝎䜴䞁䝻䞊䝗䛧䜎䛩䚹 
○ 䜸䝥䝅䝵䞁䛻䜲䝯䞊䝆ྡ䛸䝍䜾ྡ䜢䛂䠖䛃䛷ᣦᐃ䛧䜎䛩䚹 
■ docker pull ubuntu:latest 
○ 䜸䝸䝆䝘䝹䜲䝯䞊䝆䛾ሙྜ䚸䜲䝯䞊䝆ྡ䛻ຍ䛘䛶䝴䞊 
䝄䞊ྡ䜢䛂䠋䛃䛷༊ษ䛳䛶௜䛡䜛䚹 
■ docker pull user/ubuntu:latest 
○ 䝍䜾ྡ䛷䝞䞊䝆䝵䞁ᣦᐃฟ᮶䜎䛩䛜䚸┬␎᫬䛩䜛䛸᭱᪂ 
∧䠄latest䠅䛾ᣦᐃ䛻䛺䜚䜎䛩䚹 
■ docker pull ubuntu:14.04 
● docker images 
䝻䞊䜹䝹䜻䝱䝑䝅䝳䛻䛒䜛䜲䝯䞊䝆䛾୍ぴ⾲♧䚹
䝁䞁䝔䝘䛾㉳ື 
● docker run 
○ 䜲䝯䞊䝆䛛䜙䝁䞁䝔䝘䜢㉳ື䛧䜎䛩䚹 
○ docker run -i -t ubuntu /bin/bash 
■ -i䚷䜲䞁䝍䝷䜽䝔䜱䝤䝰䞊䝗䛷㉳ື䛩䜛䚹 
■ -t䚷tty➃ᮎ䜲䞁䝍䞊䝣䜵䞊䝇䛷㉳ື䛩䜛䚹 
■ 䜲䝯䞊䝆ྡ䛿ubuntu䚸䝍䜾ྡ䛿┬␎䛷䛝䜎䛩䚹 
■ bash䜢ᐇ⾜䛧䛶䝻䜾䜲䞁䛩䜛䚹 
○ 䝔䝇䝖⏝䛻ఱ䛛䝣䜯䜲䝹䜢సᡂ䛧䛶䜏䜎䛩䚹 
■ touch /tmp/test.txt 
○ ⤊஢䛩䜛䛻䛿䚸䛂Ctrl䛃䠇䛂D䛃䜻䞊䛛exit䝁䝬䞁䝗 
○ 䝥䝻䝉䝇䛾⤊஢䛻క䛳䛶䚸䝁䞁䝔䝘䜒೵Ṇ䛧䜎䛩䚹
䝁䞁䝔䝘䛾㉳ື 
● docker ps 
○ 䝁䞁䝔䝘䛾୍ぴ⾲♧䛧䜎䛩䚹 
○ ೵Ṇ䛧䛯䝁䞁䝔䝘䛿-a䜸䝥䝅䝵䞁䜢௜䛡䜛䚹 
■ docker ps -a 
○ ᒚṔ䛸䛧䛶ᕪศ䛷฼⏝䛧䜎䛩䚹 
● ෌㉳ື 
○ 䜒䛖୍ᗘ䝁䞁䝔䝘䜢㉳ື䛧䛶䜏䜎䛩䚹 
■ docker run -i -t ubuntu /bin/bash 
○ ๓ᅇ䝔䝇䝖⏝䛻సᡂ䛧䛯䝣䜯䜲䝹䜢☜ㄆ䛧䛶䜏䜎䛩䚹 
■ ls /tmp -l 
○ 䝁䞁䝔䝘䛿䜲䝯䞊䝆䛾ึᮇ≧ែ䛾䜎䜎䛷䛩䚹 
○ ඖ䛾䜲䝯䞊䝆䛿ኚ᭦䛥䜜䜎䛫䜣䚹
䝁䞁䝔䝘䛾㉳ື 
● docker start 
○ ೵Ṇ䛧䛯䝁䞁䝔䝘䜢෌ᐇ⾜䛧䜎䛩䚹 
○ 䝁䞁䝔䝘䛾୍ぴ⾲♧䛧䜎䛩䚹 
■ docker ps -a 
○ 䝁䞁䝔䝘䛜ᒚṔ䛸䛧䛶䠎䛴⾲♧䛥䜜䜎䛩䚹 
○ ᭱ึ䛾䝁䞁䝔䝘䜢෌ᐇ⾜䛧䛶䜏䜎䛩䚹 
■ docker start -i a9876543210 
■ -i 䝅䜵䝹฼⏝䛩䜛ሙྜ䛿䜲䞁䝍䝷䜽䝔䜱䝤䝰䞊䝗 
○ ๓ᅇ䝔䝇䝖⏝䛻సᡂ䛧䛯䝣䜯䜲䝹䜢☜ㄆ䛧䛶䜏䜎䛩䚹 
■ ls /tmp -l 
○ ኚ᭦䛧䛯䝁䞁䝔䝘䛷䛒䜛䛣䛸䜢☜ㄆฟ᮶䜎䛩䚹
䝁䞁䝔䝘䛾㉳ື 
● docker commit 
○ 䝁䞁䝔䝘䛛䜙䜲䝯䞊䝆䜢సᡂ䛧䜎䛩䚹 
■ docker commit a9876543210 user/ubuntu 
○ ๓ᅇ䝔䝇䝖⏝䛻䝣䜯䜲䝹䜢సᡂ䛧䛯䝁䞁䝔䝘䛛䜙䜲䝯䞊䝆 
䜢సᡂ䛧䛶䜏䜎䛩䚹 
○ 䜲䝯䞊䝆䛜సᡂฟ᮶䛯䜙䚸୍ぴ⾲♧䛧䛶☜ㄆ䛧䜎䛩䚹 
■ docker images 
○ సᡂ䛧䛯䜲䝯䞊䝆䛛䜙䝁䞁䝔䝘䜢㉳ື䛧䜎䛩䚹 
■ docker run -i -t user/ubuntu /bin/bash 
○ ๓ᅇ䝔䝇䝖⏝䛻సᡂ䛧䛯䝣䜯䜲䝹䜢☜ㄆ䛧䛶䜏䜎䛩䚹 
■ ls /tmp -l 
○ 䜲䝯䞊䝆䛜᭦᪂䛥䜜䛯஦䛜☜ㄆฟ᮶䜎䛩䚹
䝁䞁䝔䝘䛸䜲䝯䞊䝆䛾๐㝖 
● docker rm 
○ 䝁䞁䝔䝘䜢๐㝖䛧䜎䛩䚹 
○ 䝔䝇䝖⏝䛻౑⏝䛧䛯䝁䞁䝔䝘䜢๐㝖䛧䛶䜏䜘䛖䚹 
■ docker ps -a 
■ docker rm a9876543210 
■ docker ps -a 
● docker rmi 
○ 䜲䝯䞊䝆䜢๐㝖䛧䜎䛩䚹 
○ 䝔䝇䝖⏝䛻సᡂ䛧䛯䜲䝯䞊䝆䜢๐㝖䛧䛶䜏䜘䛖䚹 
■ docker images 
■ docker rmi user/ubuntu 
■ docker images
䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື 
● 䝃䞊䝡䝇䛾䜲䝯䞊䝆䜢సᡂ 
○ ౛䛸䛧䛶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
䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື 
● 䝞䝑䜽䜾䝷䜴䞁䝗䛷䝁䞁䝔䝘䜢㉳ື 
○ సᡂ䛧䛯䜲䝯䞊䝆䜢䝃䞊䝡䝇䛸䛧䛶䝞䝑䜽䜾䝷䜴䞁䝗䛷㉳ 
ື䛥䛫䜎䛩䚹 
○ docker run -d -p 80:80 nginx/ubuntu /usr/sbin/nginx - 
g 'daemon off;' -c /etc/nginx/nginx.conf 
■ -d 䝞䝑䜽䜾䝷䜴䞁䝗㉳ື䜸䝥䝅䝵䞁 
■ -p 䝩䝇䝖ഃ䛸䝁䞁䝔䝘ഃ䛾䝫䞊䝖㌿㏦䜸䝥䝅䝵䞁 
■ 䝁䞁䝔䝘ෆ䛷䛿䝣䜷䜰䜾䝷䜴䞁䝗䛷✌ാ䛥䛫䛺䛔䛸೵ 
Ṇ䛧䛶䛧䜎䛖䛾䛷䚸nginx䛾䝕䞊䝰䞁ືస䜢↓ຠ໬䛧 
䛶䛔䜎䛩䚹
䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື 
● 䝁䞁䝔䝘䛾䝃䞊䝡䝇䜢☜ㄆ 
○ 䝁䞁䝔䝘䛾୍ぴ䜢☜ㄆ䛧䛶䜏䜎䛩䚹 
■ docker ps 
○ 䝩䝇䝖ഃ䛾80␒䝫䞊䝖䛻䝃䞊䝡䝇䛜✌ാ䛧䛶䛔䜛஦䜢☜ 
ㄆ䛧䛶䜏䜎䛩䚹 
■ curl localhost:80 
■ web䝤䝷䜴䝄䛷nginx䛾䝕䝣䜷䝹䝖䝨䞊䝆䛜⾲♧䛥䜜 
䜎䛩䚹
䝃䞊䝡䝇䜢䝁䞁䝔䝘䛷㉳ື 
● 䝁䞁䝔䝘䛾೵Ṇ䛸෌ᐇ⾜ 
○ 䝁䞁䝔䝘䜢೵Ṇ䛧䛶䜏䜎䛩䚹 
■ docker ps 
■ docker stop c987654321 
■ docker ps -a 
■ curl localhost:80 
○ ೵Ṇ䛧䛯䝁䞁䝔䝘䜢෌ᐇ⾜䛧䛶䜏䜎䛩䚹 
■ docker ps -a 
■ docker start c9876543210 
■ docker ps 
■ curl localhost:80
Dockerfile 
● 䜲䝯䞊䝆సᡂ䛻䛚䛡䜛ၥ㢟Ⅼ 
○ 䝁䞁䝔䝘䛾ᵓᡂ䛻䛴䛔䛶䛾グ㘓䛜ḧ䛧䛔䚹 
○ 」ᩘ䛾䝁䝬䞁䝗䜢ᐇ⾜䛧䛺䛡䜜䜀䛺䜙䛺䛔䚹 
○ ᡭືసᡂ䛩䜛㐣⛬䛷䝭䝇䜢㑊䛡䜙䜜䛺䛔䚹 
● Dockerfile 
○ సᡂ䛩䜛䝁䞁䝔䝘䛾ᵓᡂ䜢グ㏙䛩䜛䚹 
○ 䠍⾜䛻䛴䛝䠍䛴䛾ᣦ♧䛷䚸㡰␒䛻ᐇ⾜䛥䜜䜎䛩䚹 
○ 䛂䠀䛃䛷䝁䝯䞁䝖䜒グ㏙ฟ᮶䜛䚹 
○ Dockerfile䜢౑⏝䛧䛶䜲䝯䞊䝆䜢⮬ືసᡂ䛩䜛஦䛜ฟ᮶ 
䜛䚹
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
Dockerfile 
● docker build 
○ Dockerfile䛛䜙䜲䝯䞊䝆䜢సᡂ䛧䜎䛩䚹 
○ docker build -t nginx/ubuntu:1.0 . 
■ -t సᡂ䛩䜛䜲䝯䞊䝆ྡ䛸䝍䜾ྡ䜢䛂䠖䛃䛷ᣦᐃ䛩䜛䚹 
■ Dockerfile䛾ሙᡤ䜢ᣦᐃ䛩䜛䚹 
■ 䛣䛣䛷䛿䜹䝺䞁䝖䝕䜱䝺䜽䝖䝸䛂䠊䛃䛷ᣦᐃ䚹 
○ Dockerfile䛾グ㏙㏻䜚䛻䚸ඖ䜲䝯䞊䝆䛛䜙䝁䞁䝔䝘䜢㉳ື 
䛧䛶䚸nginx䛜䜲䞁䝇䝖䞊䝹䛥䜜䜎䛩䚹 
○ 䝁䞁䝔䝘䛛䜙ᣦᐃ䛧䛯ྡ⛠䛾䜲䝯䞊䝆సᡂ䜎䛷୍ᗘ䛻ᐇ 
⾜䛥䜜䜎䛩䚹 
○ ౑⏝䛥䜜䛯䝁䞁䝔䝘䛿๐㝖䛥䜜䛶ṧ䜚䜎䛫䜣䚹
Dockerfile 
● 䜲䝯䞊䝆䛾☜ㄆ 
○ ⮬ືసᡂ䛥䜜䛯䜲䝯䞊䝆䜢౑⏝䛧䛶䚸nginx䝃䞊䝞䞊䛾 
䝃䞊䝡䝇䝁䞁䝔䝘䜢㉳ື䛧䛶䜏䜎䛧䜗䛖䚹 
○ docker images 
○ docker ps 
○ docker run -d -p 80:80 nginx/ubuntu:1.0 
○ 䝁䞁䝔䝘䛾ᐇ⾜䝁䝬䞁䝗䜢┬␎䛧䛶㉳ື䛷䛝䜛䚹 
○ docker ps 
○ curl localhost:80
䝺䝆䝇䝖䝸 
● 䝺䝆䝇䝖䝸 
○ 䝁䞁䝔䝘䛾䜲䝯䞊䝆䜢ඹ᭷⟶⌮䛩䜛௙⤌䜏䚹 
○ 䜲䝯䞊䝆䛿ᵓᡂ᝟ሗ䛸ඹ䛻༢୍䛾䝸䝫䝆䝖䝸䛸䛧䛶ᢅ䜟 
䜜䜛䚹 
○ ᶆ‽䛷䛿බᘧ䛾䛂Docker Hub䛃䛜タᐃ䛥䜜䛶䛔䜛䚹 
○ බᘧ䛾䝸䝫䝆䝖䝸䠄䜲䝯䞊䝆䝔䞁䝥䝺䞊䝖䠅䛾㓄ᕸඖ䛷䛩䚹 
○ 䝥䝷䜲䝧䞊䝖䛾䝺䝆䝇䝖䝸䜒ᵓ⠏ฟ᮶䜛䚹 
○ 䠎䛴䛾Ⓩ㘓᪉ἲ䛜䛒䜛䚹 
■ 䝻䞊䜹䝹䛾䝸䝫䝆䝖䝸䜢┤᥋䜰䝑䝥䝻䞊䝗䛩䜛䚹 
■ Dockerfile䛛䜙⮬ື⏕ᡂ䛧䛶Ⓩ㘓䛩䜛䚹
䝺䝆䝇䝖䝸 
● docker login 
○ බᘧ䝺䝆䝇䝖䝸䛂Docker Hub䛃䛻䝴䞊䝄䞊Ⓩ㘓䛧䜎䛩䚹 
■ https://docker.com/ 
■ 䝥䝷䜲䝧䞊䝖䝸䝫䝆䝖䝸䠍䛴䜎䛷䛿↓ᩱ 
○ 䝴䞊䝄䞊Ⓩ㘓䛧䛯䜰䜹䜴䞁䝖䛸䝟䝇䝽䞊䝗䛚䜘䜃䝯䞊䝹䜰 
䝗䝺䝇䛷䝻䜾䜲䞁ฟ᮶䜎䛩䚹 
○ 䝻䜾䜲䞁≧ἣ䜢docker info䛷☜ㄆ䛧䛶䜏䜎䛩䚹 
● docker info 
○ Docker䛾⎔ቃ᝟ሗ䜢⾲♧䛧䜎䛩䚹 
○ Username䛸Registry䛷䝺䝆䝇䝖䝸䛜☜ㄆฟ᮶䜎䛩䚹 
○ 䝞䞊䝆䝵䞁⾲♧䛥䜜䜎䛩䚹
䝺䝆䝇䝖䝸 
● docker push 
○ බᘧ䝺䝆䝇䝖䝸䛂Docker HUB䛃䛻䝸䝫䝆䝖䝸䜢Ⓩ㘓䛧䜎 
䛩䚹 
○ Ⓩ㘓䛧䛯䝴䞊䝄䞊䜰䜹䜴䞁䝖ྡ䜢䛂䠋䛃䛷ᣦᐃ䛩䜛䚹 
■ docker push docker_user/repository 
○ 䝥䝷䜲䝧䞊䝖䝺䝆䝇䝖䝸䛾ሙྜ䛿䚸䝴䞊䝄䞊䜰䜹䜴䞁䝖ྡ 
䛾௦䜟䜚䛻䚸䝩䝇䝖ྡ䛛IP䜰䝗䝺䝇ཬ䜃䝫䞊䝖␒ྕ䜢ᣦ 
ᐃ䛧䜎䛩䚹 
■ docker push example.com:5000/repository 
○ Ⓩ㘓䛧䛯䝸䝫䝆䝖䝸䛿䚸docker pull䝁䝬䞁䝗䛷䝎䜴䞁䝻䞊 
䝗䛧䛶฼⏝ฟ᮶䜎䛩䚹
䝺䝆䝇䝖䝸 
● docker search 
○ 䝺䝆䝇䝖䝸䛻Ⓩ㘓䛥䜜䛶䛔䜛䝸䝫䝆䝖䝸䜢᳨⣴䛧䜎䛩䚹 
○ ᶆ‽䛷䛿බᘧ䝺䝆䝇䝖䝸䛂Docker HUB䛃䛾䝸䝫䝆䝖䝸䜢᳨ 
⣴⾲♧䛧䜎䛩䚹 
○ docker search centos 
○ OFFICIAL䛜බᘧ䝸䝫䝆䝖䝸 
○ AUTOMATED䛿⮬ື䝡䝹䝗䛾䝸䝫䝆䝖䝸
䝺䝆䝇䝖䝸 
● Automated Build 
○ Dockerfile䛛䜙Docker Hubୖ䛷䝸䝫䝆䝖䝸䜢web⏬㠃᧯ 
స䛷⮬ືసᡂ䛧䜎䛩䚹 
○ GitHub䜎䛯䛿Bitbucket䛾䜰䜹䜴䞁䝖䛜ᚲせ䚹 
○ Dockerfile䜢GitHub䜎䛯䛿Bitbucket䛻Ⓩ㘓䚹 
○ Docker Hub䛾㐃ᦠᶵ⬟䛷䚸䝁䞁䝔䝘䛾⏕ᡂ䛛䜙䜲䝯䞊 
䝆సᡂ䛸Ⓩ㘓䜢⮬ືⓗ䛻ฟ᮶䜛䚹 
○ 䝖䝸䜺䞊タᐃ䛷䚸Dockerfile䛾ኚ᭦䛻ྜ䜟䛫䛶⮬ື䝡䝹 
䝗䛜ฟ᮶䜛䚹

Más contenido relacionado

La actualidad más candente

HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法Masahito Zembutsu
 
【社内勉強会】Docker入門
【社内勉強会】Docker入門【社内勉強会】Docker入門
【社内勉強会】Docker入門Kazuki Murahama
 
Dive into dockerネットワーク
Dive into dockerネットワークDive into dockerネットワーク
Dive into dockerネットワークKazuyuki Mori
 
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽dockerKenzo Nagahisa
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?Masahito Zembutsu
 
Dockerについて
DockerについてDockerについて
Dockerについて74th
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
Rancher command line interface
Rancher command line interfaceRancher command line interface
Rancher command line interfaceMasahito Zembutsu
 
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門Masahito Zembutsu
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版Kamon Nobuchika
 
15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDockerMasahiro NAKAYAMA
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Etsuji Nakai
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門KokiMakita1
 
dockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるdockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるGMOインターネット
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。Masahito Zembutsu
 

La actualidad más candente (20)

Docker入門
Docker入門Docker入門
Docker入門
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
 
Jenkins with Docker
Jenkins with DockerJenkins with Docker
Jenkins with Docker
 
【社内勉強会】Docker入門
【社内勉強会】Docker入門【社内勉強会】Docker入門
【社内勉強会】Docker入門
 
Dockerと継続的インテグレーション
Dockerと継続的インテグレーションDockerと継続的インテグレーション
Dockerと継続的インテグレーション
 
Dive into dockerネットワーク
Dive into dockerネットワークDive into dockerネットワーク
Dive into dockerネットワーク
 
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
Dockerについて
DockerについてDockerについて
Dockerについて
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
Rancher command line interface
Rancher command line interfaceRancher command line interface
Rancher command line interface
 
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版
 
15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
 
dockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるdockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考える
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。
 

Destacado

Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 updateShiojiri Ohhara
 
Docker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライドDocker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライドShiojiri Ohhara
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもんMasahito Zembutsu
 
はじめてのdocker
はじめてのdockerはじめてのdocker
はじめてのdockerat grandpa
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Masahito Zembutsu
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介Masahito Zembutsu
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Masahito Zembutsu
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphonedena_study
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術Etsuji Nakai
 
Docker 基本のおさらい
Docker 基本のおさらいDocker 基本のおさらい
Docker 基本のおさらいNaoki Nagazumi
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルMasahito Zembutsu
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻Shiojiri Ohhara
 
AWS クラウドで構築するスマホアプリ バックエンド
AWS クラウドで構築するスマホアプリ バックエンドAWS クラウドで構築するスマホアプリ バックエンド
AWS クラウドで構築するスマホアプリ バックエンドkaki_k
 

Destacado (20)

Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
Docker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライドDocker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライド
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
はじめてのdocker
はじめてのdockerはじめてのdocker
はじめてのdocker
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
MySQLはじめの第一歩
MySQLはじめの第一歩MySQLはじめの第一歩
MySQLはじめの第一歩
 
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphone
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
Docker 基本のおさらい
Docker 基本のおさらいDocker 基本のおさらい
Docker 基本のおさらい
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
信州オープンビジネスアライアンス設立趣旨説明
信州オープンビジネスアライアンス設立趣旨説明信州オープンビジネスアライアンス設立趣旨説明
信州オープンビジネスアライアンス設立趣旨説明
 
2015眾志成城閃電秀_ChuMe
2015眾志成城閃電秀_ChuMe2015眾志成城閃電秀_ChuMe
2015眾志成城閃電秀_ChuMe
 
サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻
 
AWS クラウドで構築するスマホアプリ バックエンド
AWS クラウドで構築するスマホアプリ バックエンドAWS クラウドで構築するスマホアプリ バックエンド
AWS クラウドで構築するスマホアプリ バックエンド
 

Similar a Docker入門

Infrastructure.nagoya ~Dockerって何ですか?~
Infrastructure.nagoya ~Dockerって何ですか?~Infrastructure.nagoya ~Dockerって何ですか?~
Infrastructure.nagoya ~Dockerって何ですか?~hamaji_takahisa
 
サーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとーサーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとーkrs_mizuno
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみようRyo Adachi
 
[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてることichigotake .
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2Masahide Yamamoto
 
Docker調査20150704
Docker調査20150704Docker調査20150704
Docker調査20150704HommasSlide
 
OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告VirtualTech Japan Inc.
 
Sakura no-yuube-20140327
Sakura no-yuube-20140327Sakura no-yuube-20140327
Sakura no-yuube-20140327Kunihiro TANAKA
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo LinuxについてTakuto Matsuu
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesYukiya Hayashi
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
Docker handson
Docker handsonDocker handson
Docker handsonkoda3
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介Osamu Habuka
 
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみたFuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみたtoshihirock
 
aboutDexcsPlus2022.pdf
aboutDexcsPlus2022.pdfaboutDexcsPlus2022.pdf
aboutDexcsPlus2022.pdfEtsuji Nomura
 
Rancher meetup 20161007
Rancher meetup 20161007Rancher meetup 20161007
Rancher meetup 20161007Tetsurou Yano
 
スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善dena_study
 

Similar a Docker入門 (20)

Infrastructure.nagoya ~Dockerって何ですか?~
Infrastructure.nagoya ~Dockerって何ですか?~Infrastructure.nagoya ~Dockerって何ですか?~
Infrastructure.nagoya ~Dockerって何ですか?~
 
サーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとーサーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとー
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみよう
 
[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
 
Docker調査20150704
Docker調査20150704Docker調査20150704
Docker調査20150704
 
OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告
 
Sakura no-yuube-20140327
Sakura no-yuube-20140327Sakura no-yuube-20140327
Sakura no-yuube-20140327
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
Flying Logicで思考する
Flying Logicで思考するFlying Logicで思考する
Flying Logicで思考する
 
Docker handson
Docker handsonDocker handson
Docker handson
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
 
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみたFuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
 
aboutDexcsPlus2022.pdf
aboutDexcsPlus2022.pdfaboutDexcsPlus2022.pdf
aboutDexcsPlus2022.pdf
 
Rancher meetup 20161007
Rancher meetup 20161007Rancher meetup 20161007
Rancher meetup 20161007
 
スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善
 

Más de Shiojiri Ohhara

ランサムウェアのおはなし
ランサムウェアのおはなしランサムウェアのおはなし
ランサムウェアのおはなしShiojiri Ohhara
 
フィッシングとドメイン名・DNS
フィッシングとドメイン名・DNSフィッシングとドメイン名・DNS
フィッシングとドメイン名・DNSShiojiri Ohhara
 
フィッシングメール
フィッシングメールフィッシングメール
フィッシングメールShiojiri Ohhara
 
見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威Shiojiri Ohhara
 
転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows Update転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows UpdateShiojiri Ohhara
 
フィッシングメールの紹介と対策
フィッシングメールの紹介と対策フィッシングメールの紹介と対策
フィッシングメールの紹介と対策Shiojiri Ohhara
 
パスワード再入門
パスワード再入門パスワード再入門
パスワード再入門Shiojiri Ohhara
 
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!Shiojiri Ohhara
 
オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門Shiojiri Ohhara
 
Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編Shiojiri Ohhara
 
DNSとサイバー攻撃
DNSとサイバー攻撃DNSとサイバー攻撃
DNSとサイバー攻撃Shiojiri Ohhara
 
Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻Shiojiri Ohhara
 
サイバーセキュリティ勉強会
サイバーセキュリティ勉強会サイバーセキュリティ勉強会
サイバーセキュリティ勉強会Shiojiri Ohhara
 
小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!Shiojiri Ohhara
 
Ubuntu LibreOffice Update
Ubuntu LibreOffice UpdateUbuntu LibreOffice Update
Ubuntu LibreOffice UpdateShiojiri Ohhara
 
松本Linux勉強会 SSH 暗号化と認証のプロトコル
松本Linux勉強会 SSH 暗号化と認証のプロトコル松本Linux勉強会 SSH 暗号化と認証のプロトコル
松本Linux勉強会 SSH 暗号化と認証のプロトコルShiojiri Ohhara
 
松本Linux勉強会 vagrant入門
松本Linux勉強会 vagrant入門松本Linux勉強会 vagrant入門
松本Linux勉強会 vagrant入門Shiojiri Ohhara
 
Sola勉強会 ssh再入門
Sola勉強会 ssh再入門Sola勉強会 ssh再入門
Sola勉強会 ssh再入門Shiojiri Ohhara
 
Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編Shiojiri Ohhara
 

Más de Shiojiri Ohhara (20)

ランサムウェアのおはなし
ランサムウェアのおはなしランサムウェアのおはなし
ランサムウェアのおはなし
 
フィッシングとドメイン名・DNS
フィッシングとドメイン名・DNSフィッシングとドメイン名・DNS
フィッシングとドメイン名・DNS
 
フィッシングメール
フィッシングメールフィッシングメール
フィッシングメール
 
見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威
 
転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows Update転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows Update
 
フィッシングメールの紹介と対策
フィッシングメールの紹介と対策フィッシングメールの紹介と対策
フィッシングメールの紹介と対策
 
パスワード再入門
パスワード再入門パスワード再入門
パスワード再入門
 
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
 
オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門
 
Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編
 
DNSとサイバー攻撃
DNSとサイバー攻撃DNSとサイバー攻撃
DNSとサイバー攻撃
 
Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻
 
サイバーセキュリティ勉強会
サイバーセキュリティ勉強会サイバーセキュリティ勉強会
サイバーセキュリティ勉強会
 
小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!
 
Ubuntu LibreOffice Update
Ubuntu LibreOffice UpdateUbuntu LibreOffice Update
Ubuntu LibreOffice Update
 
CentOS 7 入門
CentOS 7 入門CentOS 7 入門
CentOS 7 入門
 
松本Linux勉強会 SSH 暗号化と認証のプロトコル
松本Linux勉強会 SSH 暗号化と認証のプロトコル松本Linux勉強会 SSH 暗号化と認証のプロトコル
松本Linux勉強会 SSH 暗号化と認証のプロトコル
 
松本Linux勉強会 vagrant入門
松本Linux勉強会 vagrant入門松本Linux勉強会 vagrant入門
松本Linux勉強会 vagrant入門
 
Sola勉強会 ssh再入門
Sola勉強会 ssh再入門Sola勉強会 ssh再入門
Sola勉強会 ssh再入門
 
Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編
 

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䛾ኚ᭦䛻ྜ䜟䛫䛶⮬ື䝡䝹 䝗䛜ฟ᮶䜛䚹