怠慢なあなたのためのDocker Compose / Docker Compose for Lazy people
by
Jumpei Sakatsu
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
ଵຫͳ͋ͳͨͷͨΊͷ %PDLFS$PNQPTF "3$"/".FFUVQ !KVNQZPTIJN+VNQFJ:PTIJNVSB
Slide 2
Slide 2 text
͓લ୭Α • ٢ଜ५ฏʢ@jumpyoshimʣ • גࣜձࣾΞΠϦοδॴଐ • αʔόʔαΠυΤϯδχΞ • εϚϗΞϓϦͷόοΫΤϯυ։ൃ • Python, Django, GitLab, Docker, AWS
Slide 3
Slide 3 text
ϓϩάϥϚʔͷࡾେඒಙ ଵຫʢ-B[JOFTTʣ ؾʢ*NQBUJFODFʣ ၗຫʢ)VCSJTʣ ʮϓϩάϥϚʔʹɺ࣍ͷඒಙ͕ઈରʹඞཁͰ͢ɻ͜ͷඒಙͷҰͭͰܽ͘ਓɺ ϓϩάϥϚʔͱͳ͍͚ͬͯ·ͤΜɻ·ͨɺ͜ΕΒͷඒಙΛ͍͍ܽͯΔʹؔΘ ΒͣϓϩάϥϚʔͱ͍͏৬ۀʹब͍ͯ͠·ͬͨਓɺࠓ͙͢స৬Λߟ͑·͠ΐ͏ɻ ͦΕ͘Β͍ॏཁͳඒಙͰ͢ɻʯ https://tech.nikkeibp.co.jp/it/article/Watcher/20061005/250057/ PerlͷੜΈͷϥϦʔɾΥʔϧࢯ͕ఆٛ
Slide 4
Slide 4 text
ଵຫʢ-B[JOFTTʣ ʮશମͷ࿑ྗΛݮΒͨ͢ΊʹखؒΛ੯͠·ͳ͍ؾ࣭ɻ͜ͷؾ࣭ͷ࣋ͪओɺཱ ͭϓϩάϥϜΛॻ͍ͯΈΜͳͷۤ࿑ΛݮΒͨ͠Γɺಉ࣭͡ʹԿ͑ͳͯ͘ ͍͍Α͏ʹจॻΛॻ͍ͨΓ͢ΔɻΑͬͯɺϓϩάϥϚʔͷୈҰͷඒಙͰ͋Δɻʯ https://tech.nikkeibp.co.jp/it/article/Watcher/20061005/250057/ ίϯςφԽɺ$*$% ΞϓϦέʔγϣϯ։ൃʹ͓͚Δ
Slide 5
Slide 5 text
ίϯςφٕज़ΛͱΓ·͘ಈ ʮαʔϏεͷίϯςφԽͱ͍͏ͷ͜͜ͷWebۀք ͷҰେτϨϯυͱ͍͏͔શʹҰൠԽ͖͍ͯͯ͠·͢ɻʯ ʮϩʔΧϧڥͰͷςετɺCI্Ͱͷςετʹؔͯ͠ DockerΛ༻͢Δ͜ͱ͕વͷྲྀΕͷΑ͏ʹͳ͖ͬͯ ͍ͯ·͢ɻʯ ʮίϯςφԽͨ͠ΞϓϦέʔγϣϯΛ׆༻͢ΔΫϥ υωΠςΟϒͷྲྀΕ͕ਐߦ͍ͯ͠·͢ɻʢதུʣΠϯ ϑϥΛҙࣝͤͣɺιϑτΣΞαʔϏεͷ։ൃʹू த͢Δ͜ͱ͕Ͱ͖ɺ݁Ռͱͯ͠ߴ࣭ͳαʔϏεΛఏ ڙͰ͖Δػձ͕ߴ·Γͭͭ͋Δͱ͍͑ΔͰ͠ΐ͏ɻʯ ʮ2018ͷ࠷ઌόοΫΤϯυΤϯδχΞʹ ඞཁͳεΩϧʹ͍ͭͯߟ͑ͯΈ·ͨ͠ɻʯ 2330͍͍Ͷʢ2018/10/25࣌ʣ https://qiita.com/poly_soft/items/7cce0fb45195575921ae
Slide 6
Slide 6 text
ࠓ͢͜ͱɾ͞ͳ͍͜ͱ ʮDocker։ൃڥͷߏங͚ͩͰͳ͘ɺຊ൪ڥ ͷσϓϩΠʹ༻͢ΔͱՁ͕ग़ͯ͘Δɻ։ൃ࣌ͷ ڥ͚ͩʹ༻͢ΔͱΦʔόʔϔουେ͖͘ɺ ຊ൪ڥͱҰக͠ͳ͍ͱ͍͏ܽΛ๊͑ͯ͠·͏ʯ • Docker ComposeΛར༻ͨ͠։ൃڥߏங ͢͜ͱ ͞ͳ͍͜ͱ • Docker ComposeΛར༻ͨ͠σϓϩΠ • ίϯςφͷCI/CD ※ ։ൃڥͷΈΛίϯςφԽ͢Δ͜ͱҰൠతʹλϒʔͱ͞Ε͍ͯ·͢ɻ
Slide 7
Slide 7 text
࣍ 3&"%.&Λൺֱ͢Δ %PDLFS$PNQPTFΛར༻ͨ͠։ൃڥߏஙํ๏ ·ͱΊ ɾ7BHSBOU ɾ%PDLFS ɾ%PDLFS$PNQPTF
Slide 8
Slide 8 text
7BHSBOUΛ͏ͱ͜͏ͳΔ $ vagrant init dev-box $ vagrant up README.md $ mysql -u root > CREATE DATABASE db_dev; $ sudo apt update $ sudo apt install mysql-server python-pip python-dev $ git clone https://github.com/… $ ./manage.py runserver 0.0.0.0:8000 ʢ৬ਓͷखʹΑΔ৬ਓܳʣ ʢ৬ਓͷखʹΑΔ৬ਓܳʣ ʢ৬ਓͷखʹΑΔ৬ਓܳʣ • ৬ਓେ͠ • େυΩϡϝϯτ௨Γʹ͍͔ͳ͍ • ຊདྷΓ͍ͨ͜ͱʢ։ൃʣʹ࣌ؒΛׂ͚ͳ͍ ͔֬ʹಉ͡։ൃڥ༻ҙͰ͖Δ͕…
Slide 9
Slide 9 text
%PDLFSΛ͏ͱ͜͏ͳΔ $ cp .env.example .env $ docker build -t db-dev database/ $ docker run —name=db —env-file=.env -itd db-dev $ docker run —name=web —env-file=.env -itd -p 8000:80 nginx:latest $ docker build -t app-dev app/ $ docker run —name=app —env-file=.env -itd app-dev README.md • ίϯϙʔωϯτ͕૿͑Δͨͼʹ build, run ͕ඞཁʹͳΔ • ґଘؔΛҙࣝ͢Δඞཁ͕͋Δʢ࣮ߦॱ͕ҧ͏ͱ͏·͍͔͘ͳ͍έʔε…ʣ • ҰͭҰͭͷίϯςφΛཧ͢Δͷେม ൺֱత؆୯ʹڥߏஙͰ͖ΔΑ͏ʹͳͬͨͷͷ…
Slide 10
Slide 10 text
%PDLFS$PNQPTFΛ͏ͱ͜͏ͳΔ $ cp .env.example .env $ docker-compose up README.md • ෳͷίϯςφΛίϚϯυ1ͭͰىಈͰ͖ΔʢͪΖΜఀࢭʣ • ίϚϯυ࣮ߦ࣌ʹίϯςφؒͷґଘؔΛҙࣝ͢Δඞཁ͕ͳ͍ • ίϯςφͷߏใCI/CDʹͦͷ··ར༻Ͱ͖Δ
Slide 11
Slide 11 text
%PDLFS$PNQPTFΛ༻͍ͨ։ൃڥߏஙํ๏ ڥมϑΝΠϧͷ࡞ %PDLFSpMFͷ࡞ EPDLFSDPNQPTFZNMͷ࡞ https://docs.docker.com/compose/django/ Quickstart: Compose and Django ࣮ࡍͷαϯϓϧΛ֬ೝͯ͠Έ·͠ΐ͏ʂ ※ લఏͱͯ͠ɺઃఆใΛڥมԽ͓ͯ͘͠ඞཁ͕͋Γ·͢ɻ
Slide 12
Slide 12 text
-BSBWFM#BTJD5BTL-JTU https://github.com/jumpyoshim/quickstart-basic -BSBWFMͷνϡʔτϦΞϧΞϓϦέʔγϣϯΛ%PDLFS$PNQPTFԽͯ͠Έͨ https://laravel.com/docs/5.2/quickstart
Slide 13
Slide 13 text
·ͱΊ https://tech.nikkeibp.co.jp/it/article/Watcher/20061005/250057/ %PDLFS$PNQPTFΛར༻͢Ε͓खܰʹ։ൃڥߏங͕Ͱ͖Δ ଵຫͳ৺Λ࣋ͪଓ͚Δ • ෳͷίϯςφΛίϚϯυ1ͭͰىಈɾఀࢭ͕Մೳ • ίϚϯυ࣮ߦ࣌ʹίϯςφؒͷґଘؔΛҙࣝ͢Δඞཁ͕ͳ͍ • ίϯςφͷߏใCI/CDʹͦͷ··ར༻Ͱ͖Δ • ख࡞ۀͰ܁Γฦ͠ͷ࡞ۀʢτΠϧʣΛΑΓૣ͘ΑΓޮతʹͰ͖ͳ͍͔Λʑࣗ͢Δ • ʮଵຫɾؾɾၗຫʯͷਫ਼ਆਓʹ͚Δ͖ͷͰͳ͍ʢιϑτΣΞʹ͚Δʣ • ࣗ࡞͢ΔͷͰͳ͘·ͣ୳͢