怠慢なあなたのためのDocker Compose / Docker Compose for Lazy people
by
Jumpei Sakatsu
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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ʹͦͷ··ར༻Ͱ͖Δ • ख࡞ۀͰ܁Γฦ͠ͷ࡞ۀʢτΠϧʣΛΑΓૣ͘ΑΓޮతʹͰ͖ͳ͍͔Λʑࣗ͢Δ • ʮଵຫɾؾɾၗຫʯͷਫ਼ਆਓʹ͚Δ͖ͷͰͳ͍ʢιϑτΣΞʹ͚Δʣ • ࣗ࡞͢ΔͷͰͳ͘·ͣ୳͢