Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dockerでドカドカ on FuraIT #36
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Aruneko
October 07, 2017
Technology
980
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dockerでドカドカ on FuraIT #36
FuraIT #36で発表したDocker勉強会の資料です。
ハンズオンで使用したファイルはこちら
https://github.com/aruneko/furait36_docker
Aruneko
October 07, 2017
More Decks by Aruneko
See All by Aruneko
RedmineをDockerに載せてみた
aruneko
1
2.5k
NFCとしゃべってみよう
aruneko
0
260
Haskell入門ハンズオン
aruneko
2
1.9k
北海道における学生ITコミュニティの紹介
aruneko
0
280
ゼロからわかるポインター
aruneko
0
1k
ゆるいPython会
aruneko
0
300
Other Decks in Technology
See All in Technology
20年間 SNS サービス「GREE」 を支えた技術の刷新と、長期運用サービスの Kubernetes へのリアーキテクト
gree_tech
PRO
0
110
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
150
LLM Content Moderationを支える評価・改善ループの実践
suikabar
2
300
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
120
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
260
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
230
野良MCPサーバーを排除せよ!MCPサーバーのガバナンス
yukiogawa
1
150
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
130
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
アカウント統制の健康診断
kenichinakamura
1
120
Optunaの最新リリースv5.0について
pfn
PRO
0
140
How to Design Configuration for Rails Applications
willnet
1
1.1k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Rails Girls Zürich Keynote
gr2m
96
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Prompt Engineering for Job Search
mfonobong
0
530
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Building an army of robots
kneath
307
47k
Scaling GitHub
holman
464
140k
Transcript
%PDLFSͰυΧυΧ 'VSB*5 XSJUUFOCZ"SVOFLP
ͱΓ͋͑ͣΠϯετʔϧ w ֤छσΟετϦʹEPDLFSύοέʔδͱͯ͠ొࡁΈ ͷͣ w ޙͰ͏ͷͰEPDLFSDPNQPTFύοέʔδಋೖ w 6CVOUVͱ"SDIͱNBD04Ͱͷྫ •
$ sudo apt install docker docker-compose • $ sudo pacman -S docker docker-compose • $ brew cask install docker
ϋϯζΦϯ༻ϑΝΠϧ w (JUIVCʹ্͛ͯ͋ΔͷͰΫϩʔϯPS;JQͰམͱ͍ͯͩ͘͠͞ w IUUQTHJUIVCDPNBSVOFLPGVSBJU@EPDLFS w ޙ΄Ͳ࣮ࢪ͢Δԋशͷ͑BOTXFSϒϥϯνʹ͋Γ·͢
ࣗݾհ w ͋ΔͶ͜ w -0$"-ֶੜ෦લ෦ w ࣨའۀେֶใઐ߈. w ֶͰ4".*5ͬͯ·͢ w
"SDI/FP7JN74$PEF)BTLFMM w ϥϘΫϥυαʔϏε 3FENJOFͳͲ ʹ%PDLFSΛ׆༻த
ࠓͷඪ w ٕज़త֓ཁ͕Θ͔Δ w %PDLFSpMFΛॻ͚ΔΑ͏ʹͳΔ w ίϯςφΛ࡞ΕΔΑ͏ʹͳΔ w .VMUJ4UBHF#VJME͕Ͱ͖ΔΑ͏ʹͳΔ w
ෆشൃੑσʔλΛѻ͑ΔΑ͏ʹͳΔ w DPNQPTF͕͑ΔΑ͏ʹͳΔ
%PDLFSͬͯʁ
ߦͰද͢ͱ w ΞϓϦέʔγϣϯΛ w ίϯςφʹด͡ࠐΊͯ w ۚଠ᷒తʹྔ࢈Ͱ͖ͯ w ͍ࣺͯΒΕΔ w
ͳΜ͔ศརͳϠπ
%PDLFSͷ׆༻ྫ
։ൃڥͱͯ͠ w ίϯςφͷίϐʔ͕༰қͳͨΊෳਓͰͷ։ൃڥڞ༗ʹศར w ڥͷҧ͍͕ຒ·ΓɺͦΕʹؔ࿈͢Δෆ۩߹ൃੜ͠ͳ͘ͳΔ w ίϯςφΛೖΕସ͑Δ͚ͩͰڥ͕όʔδϣϯΞοϓՄೳ
ຊ൪ڥͱͯ͠ w ٸͳΞΫηε૿ՃʹΑΔαʔόʔͷ૿ઃ؆୯ w όʔδϣϯΞοϓίϯςφΛೖΕସ͑Δ͚ͩʂ w Πϯϑϥཧ͕ςΩετϑΝΠϧͰՄೳ w (JUͰόʔδϣϯཧͰ͖ͪΌ͏
%PDLFSͷ͘͠Έ
%PDLFSͷ֓ཁ %PDLFS ίϯςφٕज़ ΤίγεςϜ
ԾԽͷҧ͍ )BSEXBSF )PTU04 7JSUVBM.BDIJOF)PTU (VTU04 1SPDFTT )BSEXBSF )PTU04 -JOVY,FSOFM %PDLFS%BFNPO
1SPDFTTPO$POUBJOFS ϗετܕԾԽ ίϯςφܕԾԽ
%PDLFSίϯςφ w ٕज़ͱͯ͠ผʹ৽͘͠ͳ͍ DISPPU KBJM TZTUFNEOTQBXOʜFUD w ಛͱݴͬͯ͜Μͳײ͡ w
ϓϩηε͕ϗετଆͱಠཱ w ωοτϫʔΫಠཱ w DISPPUͱಉ༷ίϯςφͷΈͷSPPUσΟϨΫτϦ w Ϣʔβʔಠཱ
ίϯςφͷਖ਼ମ %PDLFS$POUBJOFS *NBHF-BZFS$ *NBHF-BZFS# *NBHF-BZFS" 8SJUBCMF-BZFS %PDLFS*NBHF 3FBE0OMZ #BTF*NBHF 04
.JEEMFXBSF "QQMJDBUJPO
ίϯςφͷਖ਼ମ %PDLFS$POUBJOFS *NBHF-BZFS$ *NBHF-BZFS# *NBHF-BZFS" 8SJUBCMF-BZFS %PDLFS*NBHF 3FBE0OMZ )5.-ϑΝΠϧ /HJOY
6CVOUV ಈ࡞࣌ͷΩϟογϡ
%PDLFSΤίγεςϜ %PDLFS)VC -PDBM %PDLFS*NBHF" %PDLFS*NBHF# %PDLFS*NBHF$ %PDLFS*NBHF% %PDLFS*NBHF" /FX%PDLFS*NBHF औΓࠐΈ
ొ
%PDLFS)VC w IUUQTIVCEPDLFSDPN w %PDLFS*NBHFͷެࣜΞοϓϩʔυઌ w ࡞Γ͍ͨαʔϏεʹԠͨ͡ΠϝʔδΛݕࡧͯ͠ৄࡉΛ֬ೝ
ΤίγεςϜͱΠϝʔδ w ๛ͳ#BTF*NBHF w 6CVOUV $FOU04 "SDI-JOVY %FCJBO "MQJOF-JOVYʜFUD w
ෳͷ*NBHFؒͰ-BZFSΛڞ༗͢Δ͜ͱ͕Մೳ w μϯϩʔυ༰ྔͷઅ w ࣗ࡞ίϯςφొ࣌ͷΞοϓϩʔυ༰ྔͷઅ
ίϯςφΛ࡞ͬͯΈΔ
ॳظઃఆ w -JOVYͷਓҎԼͷखॱͰॳظઃఆ͍ͯͩ͘͠͞ w NBD04ͷਓෆཁͰ͢ w ࣗͷϢʔβʔΛ%PDLFSάϧʔϓʹॴଐ͓ͤͯ͘͞ w ͨͩ͠ࣄ্࣮ͷSPPUʹͳΔͷͰऔѻҙ •
$ sudo gpasswd -a USER_NAME docker w ऴΘͬͨΒ࠶ϩάΠϯͯ͠ɺ%PDLFSΛىಈ • $ sudo systemctl enable --now docker
TMίϯςφΛ࡞Ζ͏ʂ w ҰൃωλίϚϯυͰ༗໊ͳTMίϚϯυ͕ಈ͘ίϯςφΛ࡞Ζ͏ w ୯ͳΔΞϓϦέʔγϣϯͰɺอଘ͢Δͷ͕ͳ͍ͷͰ؆୯
ίϯςφ࡞ͷྲྀΕ w ίϯςφʹඞཁͳίϚϯυϑΝΠϧͷཧ w ཧͨ͠ίϚϯυ܈͔Β%PDLFSpMFͷॻ͖ى͜͠ w %PDLFSpMF͔ΒΠϝʔδΛੜ w Πϝʔδ͔ΒίϯςφΛىಈ
%PDLFSpMFΛॻ͜͏ w %PDLFSpMFɺڥߏஙͷखॱॻ w ϕʔεΠϝʔδͱͷ͚ࠩͩΛॻ͚ྑ͍ w ϑΝΠϧ໊֦ுࢠͳ͠ͷͣΓz%PDLFSpMFz w ͰશʹखॱΛѲ͍ͯ͠ͳ͍ͱ͍͖ͳΓॻ͚ͳ͍ w
ˠͱΓ͋͑ͣखॱΛ֬ೝ͢Δ
ςετ༻ίϯςφΛ࡞Δ w %PDLFSpMFʹ·ͱΊΔલͷςετ༻ίϯςφͰݕূ w ৭ʑ؆୯ͳͷͰήετ046CVOUVͰͬͯΈ·͢
%PDLFS*NBHFͷμϯϩʔυ • $ docker pull ubuntu:16.04 w ίϩϯΑΓޙΖͰΠϝʔδͷλάΛࢦఆͰ͖Δ w ֤ΠϝʔδͷλάͷҰཡ%PDLFS)VCͰ֬ೝ
ςετ༻ίϯςφͷىಈ • $ docker run -it --rm --name test ubuntu:16.04
Φϓγϣϯ આ໌ JU UUZΛ࡞ͬͯඪ४ೖྗΛͭͳ͙ SN ίϯςφऴྃ࣌ʹίϯςφΛআ OBNF ίϯςφʹ໋໊
4-ͷΠϯετʔϧ w ίϯςφͰBQUΛͬͯTMΛೖΕͯΈΔ w ύοέʔδ໊͕Θ͔Βͳ͍ͱ͖BQUͰ୳ͦ͏ w ೖΕऴΘͬͨΒɺIJTUPSZίϚϯυͰ࣮ߦͨ͠ίϚϯυΛ֬ೝ w %PDLFSpMFશࣗಈ࣮ߦ w
࣮ߦதͷϓϩϯϓτʹೖྗͰ͖ͳ͍ w ڧ੍ΠϯετʔϧΦϓγϣϯͳͲ BQUͷ߹Z ͕ඞਢͳͷͰҙ w ϨΠϠׂ͕͞ΕΔͱෆ߹͕͋ΔͷͰʮʯͰશίϚϯυΛͭͳ͙
%PDLFSpMFͷߏ w %PDLFSpMFͰΘΕΔ໋ྩͯ͢େจࣈ w ໋ྩͷޙʹҾΛεϖʔε۠ΓͰॻ͍͍ͯ͘ w ͪΐͬͱมΘͬͨγΣϧεΫϦϓτతͳ w ͓ΈͷΤσΟλͰʮ%PDLFSpMFʯΛ৽ن࡞͠Α͏
Α͘͏%PDLFSpMF໋ྩ ໋ྩ આ໌ '30. #BTF*NBHFͷࢦఆ 36/ -JOVYίϚϯυͷ࣮ߦ 803,%*3 DEͱಉ͡ʢଘࡏ͠ͳ͍σΟϨΫτϦࣗಈͰੜʣ $01:43$%45
43$͔Β%45ʹϑΝΠϧΛίϐʔ
%PDLFSpMFͷྫ FROM ubuntu:16.04 RUN apt update && \ apt install
-y sl && \ ln -s /usr/games/sl /usr/bin/sl
%PDLFSpMF͔ΒΠϝʔδΛ࡞ w %PDLFSpMF͕Ͱ͖ͨΒɺ͜ΕΛͬͯࣗ࡞ΠϝʔδΛ࡞ • $ docker image build -t sl
. w UɿΠϝʔδ໊Λ͚Δ w ࠷ޙͷʮʯɿ%PDLFSpMFͷ͋ΔσΟϨΫτϦͷ૬ରύε
ࣗ࡞Πϝʔδ͔ΒίϯςφΛੜ • $ docker container run -it -d --name sl_test
sl w Ұ൪࠷ޙͷҾʹͰ͖͕͋ͬͨࣗ࡞ΠϝʔδΛࢦఆ w EɿόοΫάϥϯυ࣮ߦ w ίϯςφऴྃ࣌ʹফ͑ͨΒࠔΔͷͰSNࢦఆ͠ͳ͍
ίϯςφͷଓ w ίϯςφͰ৽͘͠CBTIϓϩηεΛ࡞Γɺͦͷඪ४ೖྗΛܨ͙ • $ docker container exec -it sl_test
/bin/bash w ͜ΕͰTMίϚϯυ͕͖ͨͨ์ʂ w FYJUͯ͠ൈ͚·͠ΐ͏
ίϯςφίϚϯυͷ࣮ߦ w CBTI͕ͦͷ··ಈ͘Α͏ʹɺଞͷϓϩάϥϜಈ͘ w TMΛͦͷ··࣮ߦͯ͠ΈΑ͏ • $ docker container exec
-it sl_test sl w େ͚͛ͩ͞Ͳ ݩͷڥΛԚછͤͣʹ৭ʑೖΕͯ͑Δศར͞
ίϯςφͷআ w ͍Βͳ͘ͳͬͨίϯςφࢭΊ͔ͯΒআ w ಈ͍͍ͯΔίϯςφDPOUBJOFSαϒίϚϯυͷMTίϚϯυͰ֬ೝ w ఀࢭதؚΊͯ͢ͷίϯςφΛݟ͍ͨͳΒBΦϓγϣϯ • $ docker
container ls -a • $ docker ps -a w ίϯςφ*%·ͨίϯςφ໊Λࢦఆͯ͠আ • $ docker container stop CONTAINER_NAME • $ docker container rm CONTAINER_NAME
Πϝʔδͷআ w ͍Βͳ͍Πϝʔδ༰ྔΛ৯͏͚ͩͳͷͰআ w ΠϝʔδJNBHFαϒίϚϯυͰૢ࡞ w ΠϝʔδͷҰཡMTίϚϯυͰऔಘ • $ docker
image ls • $ docker images w SNίϚϯυͰআ • $ docker image rm IMAGE_NAME • $ docker rmi IMAGE_NAME
ԋशɿ3VCZίϯςφͷ࡞ w 3VCZΠϯλϓϦλ͕ಈ͘ίϯςφΛ࡞ͬͯΈΑ͏ w ެࣜͷSVCZΠϝʔδଘࡏ͠·͕͢ʜ w %PDLFSpMF*NBHF࡞ίϯςφੜίϚϯυ࣮ߦ w 3VCZΠϯλϓϦλͷىಈʮJSCʯίϚϯυͰ͢
ԋशɿ8FCίϯςφͷ࡞ w /HJOYͰ)5.-Λදࣔ͢ΔίϯςφΛ࡞ͬͯΈΑ͏ w OHJOYϕʔεΠϝʔδΛ͏ͱศརͰ͢ w VTSTIBSFOHJOYIUNMҎԼʹϑΝΠϧΛίϐʔ͠·͢ w ϑΝΠϧͷίϐʔʹ$01:໋ྩΛ͍·͢ w
ىಈҎԼͷίϚϯυͰɻϙʔτΛ࿐ग़ͤ͞ΔઃఆΛՃͯ͠·͢ • $ docker run -d --name nginx_test -p 80:80 <image_name>
લ͜͜·Ͱʂ
.VMUJ4UBHF#VJME
Ϗϧυ͕ඞཁͳίϯςφΛ࡞Δ w ͍··Ͱͷ%PDLFSίϯςφͷ࡞Γํ w 36/໋ྩΛׂ͢ΔͱϨΠϠ͕૿͑Δ w ϏϧυʹඞཁͳͷΛΠϯετʔϧͯ͠ w ιʔείʔυΛམͱ͖ͯͯ͠ w
Ϗϧυͯ͠ w Ϗϧυ࣌ͷґଘύοέʔδɾιʔείʔυΛফ͢ w ͜ΕΒΛׂ࣮ͯ͠ߦ͢Δͱ
೦ͳΠϝʔδ %PDLFS*NBHF Ϗϧυ ιʔεμϯϩʔυ ґଘΠϯετʔϧ ෆཁͷফڈ ͍Βͳ͍ͷ·Ͱ Πϝʔδʹؚ·ΕΔ
શମΛϨΠϠʹ·ͱΊΔ %PDLFS*NBHF ෆཁͷফڈ Ϗϧυ ιʔεμϯϩʔυ ґଘΠϯετʔϧ ͍Βͳ͍ͷ ؚ·Εͳ͍ ˠαΠζͷॖখ
ͰͬͺΓ w ໘ w ͦ͜Ͱɺ.VMUJ4UBHF#VJME
.VMUJ4UBHF#VJME #VJME*NBHF Ϗϧυ ιʔεμϯϩʔυ ґଘΠϯετʔϧ 3VOUJNF*NBHF ґଘΠϯετʔϧ ϏϧυՌ Ռ͚ͩίϐʔ͠ɺ ࣮ߦ༻ίϯςφͷΈΛ
4-Ͱ.VMUJ4UBHF#VJMEΛମݧ w 4-ΛϏϧυͯ͠ɺͦͷՌ͚ͩΛ࣮ߦ࣌ίϯςφʹࡌͤΔ w ࣮4-ͷ࣮ߦʹODVSTFT͕ඞཁ w ࣮ߦ࣌ίϯςφʹΠϯετʔϧ͓ͯ͘͠ w %PDLFSͰΑ͘͏ܰྔ-JOVYͷ"MQJOF-JOVYΛͬͯͬͯΈΑ͏
4-Ͱ.VMUJ4UBHF#VJMEΛମݧ FROM alpine AS build-sl RUN apk --no-cache add alpine-sdk
ncurses-dev && \ git clone https://github.com/mtoyoda/sl.git && \ cd sl && \ make FROM alpine RUN apk --no-cache add ncurses COPY --from=build-sl /sl/sl /usr/bin/sl "4ͰதؒΠϝʔδʹ໋໊ GSPNͰதؒΠϝʔδ͔ΒՌΛίϐʔ
Մมσʔλͱ ෳίϯςφͷ࿈ܞ
Մมσʔλͷߦํ w %PDLFSίϯςφ͍ࣺͯ w ՄมσʔλϨΠϠίϯςφʹؚ·ΕΔ w ΑͬͯՄมσʔλίϯςφ͕ࢮ͵ͱҰॹʹࢮ͵ w ඇৗʹࠔΔʢ࣮ࡍࠔͬͨʣ
%PDLFS7PMVNF w Մมσʔλ7PMVNFͱͯ͠ผͷͱ͜Ζʹஔ͖ɺͦΕΛϚϯτ w छྨͷํ๏ w طଘσΟϨΫτϦͷϚϯτ w WPMVNFίϚϯυʹΑΔੜ
طଘσΟϨΫτϦͷϚϯτ w ϗετʹσʔλอଘ༻σΟϨΫτϦΛ࡞ΓͦΕΛϚϯτ͢Δ w ύʔϛογϣϯ͕͍ؔ͜͠ͷͰɺ͋Μ·Γ͓͢͢Ί͠ͳ͍ w ίϯςφଆͰੜ͞ΕͨσʔλͷṖύʔϛογϣϯ w ॻ͖ࠐΉଆΛϗετ͔ήετʹݶఆ͢Ε0,
WPMVNFίϚϯυʹΑΔੜ w %PDLFSʹ͓ͯ͢·͔ͤ͢Δ w ྑ͍ײ͡ʹͬͯ͘ΕΔͷͰָ • $ docker volume create
--name hogehoge
3FENJOFίϯςφΛ࡞Δ w ϓϩδΣΫτཧπʔϧ3FENJOFͷίϯςφΛ࡞ͬͯΈΔ w ͱΓ͋͑ͣԼௐΛͯ͠ͲΜͳ෩ʹίϯςφΛ࡞Εྑ͍͔ݕ౼
ΕͬͭԼௐ w 3FENJOFίϯςφΛ࡞ΔͨΊʹԿ͕ඞཁ͔ΛԼௐ w ͱΓ͋͑ͣ%PDLFS)VCͰݕࡧͯ͠ΈΔ w IUUQTIVCEPDLFSDPNSMJCSBSZSFENJOF
ΕͬͭԼௐ w ҎԼͷ߲ʹ w 5BH w ґଘ͍ͯ͠Δίϯςφ w ͑Δڥม
w ෦Ͱ͏ϙʔτ w ӬଓσʔλͷϚϯτॴ
ΕͬͭԼௐ w 5BH w MBUFTUͰΑͦ͞͏ w ґଘ͍ͯ͠Δίϯςφ w ͳΜΒ͔ͷ%#͕ඞཁΒ͍͠ͱΓ͋͑ͣ.Z42-
w ͑Δڥม w %#ͷଓઌύεϫʔυ͕ࢦఆग़དྷΔΒ͍͠ w ෦Ͱ͏ϙʔτ w ൪ w ӬଓσʔλͷϚϯτॴ w lVTSTSDSFENJOFpMFTzʹఴϑΝΠϧ͕ஔ͔ΕΔΒ͍͠
ΕͬͭԼௐ w .Z42-ʹ͍ͭͯಉ༷ͷใΛऩू͢Δ
ΕͬͭԼௐ w 5BH w MBUFTUͰΑͦ͞͏ w ͑Δڥม w SPPUͷύεϫʔυॳظ%#໊͕ࢦఆग़དྷΔΒ͍͠
w ӬଓσʔλͷϚϯτॴ w lWBSMJCNZTRMzʹσʔλϕʔε͕ஔ͔ΕΔΒ͍͠
Լௐྃ w ͬ͟ͱ͜ͷ͙Β͍Լௐग़དྷͨΒίϚϯυΛΈཱͯΑ͏ʂ
3FENJOFίϯςφΛ࡞Δ w ίϚϯυͨͬͨͷߦʢߦ͕͍ͱݴͬͯͳ͍ʣ • $ docker volume create --name redmine_db
• $ docker volume create --name redmine_file • $ docker run -d --name rm-mysql \ -e MYSQL_ROOT_PASSWORD=password \ -e MYSQL_DATABASE=redmine -v redmine_db:/var/lib/mysql mysql • $ docker run -d -p 3000:3000 --name redmine \ --link rm-mysql:mysql \ -v redmine_file:/usr/src/redmine/files redmine
3FENJOFͷಈ࡞֬ೝ w IUUQMPDBMIPTU w QΦϓγϣϯͷࠨଆ͕ެ։ϙʔτͰӈଆ͕ίϯςφ෦ϙʔτ w ैͬͯ൪ϙʔτʹΞΫηε͢Ε0,
ΊΜͲ͘͘͞ͳ͍ʁ w ͍͘ΒԿͰίϚϯυ͕͗͢Δ w αʔϏε͝ͱʹίϯςφΛݐͯΔίϚϯυΛԆʑͱೖྗͨ͘͠ͳ͍
%PDLFS$PNQPTF w %PDLFSίϯςφͷ౷߹ཧπʔϧ w ZBNMܗࣜͷςΩετͰهड़ w ͬͺΓ(JUͰཧ͍͢͠ w ϑΝΠϧ໊zEPDLFSDPNQPTFZNMzͰݻఆ w
ͱΓ͋͑ͣ3FENJOFΛىಈͰ͖ΔϑΝΠϧΛݟͯΈΔ
3FENJOFͰͷྫ version: '3' services: mysql: image: mysql volumes: - data:/var/lib/mysql
environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: redmine redmine: image: redmine volumes: - files:/usr/src/redmine/files ports: - "3000:3000" environment: REDMINE_DB_MYSQL: mysql REDMINE_DB_PASSWORD: password depends_on: - mysql volumes: data: files:
֤ηΫγϣϯͷઆ໌ ηΫγϣϯ໊ આ໌ WFSTJPO EPDLFSDPNQPTFZNMͷॻࣜόʔδϣϯ Λ͍ͬͯΔͷͰ͋ΕΛهೖ TFSWJDFT ίϯςφͷఆٛ WPMVNFT ӬଓσʔλྖҬͷఆٛ
TFSWJDFTηΫγϣϯ ηΫγϣϯ໊ આ໌ JNBHF 1VMMͯ͘͠ΔΠϝʔδ໊ WPMVNFT Ϛϯτ͢ΔϘϦϡʔϜ QPSUT ϙʔτͷϚοϐϯά FOWJSPONFOU
ڥม EFQFOET@PO ґଘ͍ͯ͠Δίϯςφ໊ ෦%/4Ͱ໊લղܾΛ࣮ࢪ
࣮ߦͷ४උ w खಈͰ࡞ͬͨ3FENJOF.Z42-ίϯςφͷফڈ w 7PMVNFআ͓ͯ͘͠ • $ docker volume ls
• $ docker volume rm VOLUME_NAME
͍࣮͟ߦ • $ docker-compose up -d w EɿόοΫάϥϯυ࣮ߦ w ͯ͢ͷίϯςφΛࢭΊ͍ͨͱ͖
• $ docker-compose stop w ͯ͢ͷίϯςφΛఀࢭ͔ͯ͠Βআ͍ͨ͠ͱ͖ • $ docker-compose down
ΊͬͪΌָ w ෳίϯςφΛཧ͢ΔࡍʹEPDLFSDPNQPTF w ໊લΛॻ͍͓͚ͯͩ͘ͰWPMVNFࣗಈੜ
7PMVNFͷόοΫΞοϓ w όοΫΞοϓ༻ͷҰ࣌ίϯςφΛ࡞ΓϗετଆʹϑΝΠϧΛίϐʔ • $ mkdir bkup && cd bkup
• $ docker run --rm -v VOL_NAME:/volume \ -v $(realpath .):/bkp busybox \ tar cvf /bkp/FILENAME.tar /volume
ԋश w 8PSEQSFTTίϯςφΛEPDLFSDPNQPTFͰ࡞ͬͯΈΑ͏ w 8PSEQSFTTίϯςφͱ.Z42-ίϯςφͷΈ߹Θͤ w 8PSEQSFTTଆ͔Β.Z42-ଆΛೝࣝ͢ΔͨΊͷڥมʁ w ͲͷϙʔτΛόΠϯυ͢Δʁ
·ͱΊ w %PDLFSͷٕज़എܠ͕Θ͔ͬͨ w %PDLFSpMF͕࡞ΕΔΑ͏ʹͳͬͨ w ίϯςφ͕࡞ΕΔΑ͏ʹͳͬͨ w .VMUJ4UBHF#VJME͕Ͱ͖ΔΑ͏ʹͳͬͨ w
7PMVNFΛѻ͑ΔΑ͏ʹͳͬͨ w $PNQPTFͰෳίϯςφ͕ཧͰ͖ΔΑ͏ʹͳͬͨ