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イメージ置き場の件
Search
ozzozz
September 16, 2016
Technology
4k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dockerイメージ置き場の件
ozzozz
September 16, 2016
More Decks by ozzozz
See All by ozzozz
BOSH 101 winter 2018
ozzozz
3
1.2k
コンテナベースのクラウド基盤とマイクロサービスアーキテクチャ / IEICE NW NWS16
ozzozz
0
150
BOSH101 autumn 2017
ozzozz
5
2.1k
Cloud Foundry について 〜日本国内のCFコミュニティ界隈の状況など〜 / Session 4-B2-1 at OpenStack Days Tokyo 2017
ozzozz
1
500
Cloud Foundry on OpenStack deep dive / Session 4-B2-5 at OpenStack Days Tokyo 2017
ozzozz
2
250
Cloud Foundry Summit Silicon Valley 2017 参加報告
ozzozz
1
330
Cloud Foundryに関する日本国内コミュニティについて / About Cloud Foundry community in Japan
ozzozz
0
1.5k
Running Concourse CI on enterprise private cloud
ozzozz
1
570
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
930
Other Decks in Technology
See All in Technology
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
1
890
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
250
AI時代のGraphQL
joere
3
410
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
270
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
460
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
1.8k
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
3
1.3k
Teaching Python with three kinds of AI
reuven
0
120
Filter What the LLM Reads: RAG Governance with AgentCore Gateway
yakumo
1
110
AIをリアル世界に解き放つ 〜M5Stack×AIであなたのアイディアを手の平に〜
hamadakoji
1
550
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
200
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
110
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
WCS-LA-2024
lcolladotor
0
920
A Tale of Four Properties
chriscoyier
163
24k
How STYLIGHT went responsive
nonsquared
100
6.3k
Designing for Timeless Needs
cassininazir
1
530
Facilitating Awesome Meetings
lara
57
7.2k
Color Theory Basics | Prateek | Gurzu
gurzu
1
500
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
590
Transcript
%PDLFSΠϝʔδஔ͖ͷ݅ ඌ৲݈ !LFOPKJSJ
• %PDLFSΠϝʔδͲ͜ʹஔ͔Ε͏Δͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴΛͨ͠ͱ ͜ΖͰԿ͕͏Ε͍͠ͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴͳͲʹΑͬͯ ૢ࡞ઃఆ͕Ͳ͏มΘΔͷ͔ ͓͠ͳ͕͖
ͦ͏͍͑%PDLFSΠϝʔδͬͯͳΜ͚ͩͬ ˞ԼهࢿྉΑΓҾ༻ ɹhttp://www.slideshare.net/zembutsu/docker-images-containers-and-lifecycle
ͦ͏͍͑%PDLFSΠϝʔδͬͯͳΜ͚ͩͬ ˞ԼهࢿྉΑΓҾ༻ ɹhttp://www.slideshare.net/zembutsu/docker-images-containers-and-lifecycle
• %PDLFSΠϝʔδͲ͜ʹஔ͔Ε͏Δͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴΛͨ͠ͱ ͜ΖͰԿ͕͏Ε͍͠ͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴͳͲʹΑͬͯ ૢ࡞ઃఆ͕Ͳ͏มΘΔͷ͔ ͓͠ͳ͕͖
ᶃ %PDLFSϗετͷϑΝΠϧγεςϜ • EPDLFSQVMMEPDLFSSVOͳͲͷίϚϯυͰ ϦϞʔτ͔Βऔಘͨ͠Πϝʔδɺ EPDLFSCVJMEEPDLFSDPNNJUͳͲͷίϚ ϯυͰ࡞ͨ͠ΠϝʔδͷϩʔΧϧͷอଘઌ • -JOVYͩͱWBSMJCEPDLFSԼ %PDLFSΠϝʔδஔ͖ͷόϦΤʔγϣϯᶃ
ᶄ %PDLFS)VC2VBZJPͳͲͷQVCMJD%PDLFS SFHJTUSZ • EPDLFSQVMMίϚϯυͰͷΠϝʔδμϯϩʔυ ݩɺ͔ͭEPDLFSQVTIίϚϯυͰͷΠϝʔδ ΞοϓϩʔυઌͱͳΓ͏Δ • Πϯλʔωοτͷ୭ͰμϯϩʔυͰ͖ΔΠ ϝʔδͷஔ͖QVCMJDSFQPTJUPSZɺಛఆͷਓ
͚͕ͩμϯϩʔυͰ͖ΔΠϝʔδͷஔ͖ QSJWBUFSFQPTJUPSZͱݺΕΔʢΑͶʁʣ • QSJWBUFSFQPTJUPSZͷ࡞༗ྉͩͬͨΓ͢Δ • ͲͪΒͷSFQPTJUPSZEPDLFSQVTIʹ͋ͨͬ ͯϢʔβೝূཁ • EPDLFSίϚϯυͰSFHJTUSZΛಛʹࢦఆ͠ͳ ͚ΕσϑΥϧτͰ%PDLFS)VC͕ΘΕΔ %PDLFSΠϝʔδஔ͖ͷόϦΤʔγϣϯᶄ
ᶅ ࣗલͰཱͯΔQSJWBUF%PDLFSSFHJTUSZ • EPDLFSQVMMίϚϯυͰͷΠϝʔδμϯ ϩʔυݩɺ͔ͭEPDLFSQVTIίϚϯυͰͷ ΠϝʔδΞοϓϩʔυઌͱͳΓ͏Δ • -"/ͱ͔ϓϥΠϕʔτΫϥυͱ͔71$ ʹཱͯΔ͜ͱͰɺΠϝʔδͷμϯϩʔυ ઌΞοϓϩʔυݩΛݶఆͰ͖Δ
• QSJWBUFSFQPTJUPSZఏڙͰ͖Δ • %PDLFS͕ࣾ044ʹ͍ͯ͠ΔSFHJTUSZͰ ఏڙՄೳʹͳͬͯͨʢ͍ͭͷؒʹʂʁʣ TFFhttps://docs.docker.com/registry/deploying/#/ restricting-access %PDLFSΠϝʔδஔ͖ͷόϦΤʔγϣϯᶅ
ֆͰ·ͱΊΔͱ Πϯλʔωοτ -"/QSJWBUFDMPVE 71$ ᶃ ϩʔΧϧϑΝΠϧγεςϜ ᶄQVCMJD%PDLFSSFHJTUSZ QVCMJDSFQPTJUPSZˠ ˡQSJWBUFSFQPTJUPSZ ᶅQSJWBUF%PDLFSSFHJTUSZ
• %PDLFSΠϝʔδͲ͜ʹஔ͔Ε͏Δͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴΛͨ͠ͱ ͜ΖͰԿ͕͏Ε͍͠ͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴͳͲʹΑͬͯ ૢ࡞ઃఆ͕Ͳ͏มΘΔͷ͔ ͓͠ͳ͕͖
• ՝ۚͳ͠Ͱ%PDLFSΠϝʔδΛൿಗ͢ΔͨΊʹ • QVCMJDSFHJTUSZ͕ఏڙ͢ΔQSJWBUF SFQPTJUPSZͰใཧʹෆ҆Λ๊͔ΕΔ ΤϯλʔϓϥΠζ স ͳ͓٬༷ʹ QSJWBUF%PDLFSSFHJTUSZͷ͍Ͳ͜Ζ
՝ۚͳ͠Ͱ%PDLFSΠϝʔδΛൿಗ͢ΔͨΊʹ Πϯλʔωοτ -"/QSJWBUFDMPVE 71$ ᶃ ϩʔΧϧϑΝΠϧγεςϜ ᶄQVCMJD%PDLFSSFHJTUSZ ᶅQSJWBUF%PDLFSSFHJTUSZ
• ՝ۚͳ͠Ͱ%PDLFSΠϝʔδΛൿಗ͢ΔͨΊʹ • QVCMJDSFHJTUSZ͕ఏڙ͢ΔQSJWBUF SFQPTJUPSZͰใཧʹෆ҆Λ๊͔ΕΔ ΤϯλʔϓϥΠζ স ͳ͓٬༷ʹ • खݩͷෳͷ%PDLFSϗετؒͰ%PDLFSΠ
ϝʔδΛ͍ճͨ͢Ίʹ • ϦϞʔτ͔ΒͷΠϝʔδμϯϩʔυ ͍ͷͰɺಡΈࠐΈΩϟογϡͱͯ͠ • $*ʹΑͬͯසൟʹΠϝʔδΛ࡞͢ΔͷͰɺ ςετ༻ΠϝʔδͷҰ࣌తஔ͖ॴͱͯ͠ QSJWBUF%PDLFSSFHJTUSZͷ͍Ͳ͜Ζ
खݩͷෳͷ%PDLFSϗετؒͰ ɹɹɹɹ%PDLFSΠϝʔδΛ͍ճͨ͢Ίʹ Πϯλʔωοτ -"/QSJWBUFDMPVE 71$ ᶄQVCMJD%PDLFSSFHJTUSZ ᶅQSJWBUF%PDLFSSFHJTUSZ ͍ͷϠμ
˞%PDLFSࣾ044൛SFHJTUSZΛ͏લఏ • ·͓ͣࢼ͠Ͱ%PDLFSίϯςφͱͯ͠ىಈ͢Δ • 3FHJTUSZʹอଘ͢Δ%PDLFSΠϝʔδΛ%PDLFSϗετ্ͷϑΝΠϧ γεςϜͰӬଓԽ͢Δ • )5514ͰαʔϏε͢Δ ͪΌΜͱͨ͠ূ໌ॻΛ͑ͤʹͳΕΔΑʂʲޙड़ʳ
QSJWBUF%PDLFSSFHJTUSZͷͭ͘Γ͔ͨᶃ $ docker run -d -p 5000:5000 registry:2 $ docker run -d -p 5000:5000 \ -v /srv/registry:/var/lib/registry \ registry:2 $ docker run -d -p 5000:5000 \ -v /srv/registry-certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ registry:2
˞(6*΄͍͠Ͱ͠ΐʁ͋ΔΑ QSJWBUF%PDLFSSFHJTUSZͷͭ͘Γ͔ͨᶄ $ docker run -d -p 8080:80 \ -e
ENV_DOCKER_REGISTRY_HOST: 192.168.0.1 \ -e ENV_DOCKER_REGISTRY_PORT: 5000 \ konradkleine/docker-registry-frontend:v2
QSJWBUF%PDLFSSFHJTUSZͷͭ͘Γ͔ͨᶅ ଞʹɾɾɾ • 7.XBSF044IBSCPSΛ͏ • ͳΜ͔ͱͬͯΑ͍ͷΒ͍͠Αʂ • (JU-BCΛ͏ • ͦ͏͍͏ػೳ͕͋ΔΒ͍͠Ͱ͢Ͷ
• %PDLFS%BUBDFOUFSͱ͔ 2VBZ&OUFSQSJTFͱ͔Λങͬͯ͏ • ශੑͷΦϨͨͪʹݫ͍͠ ͳͲͳͲ
• %PDLFSΠϝʔδͲ͜ʹஔ͔Ε͏Δͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴΛͨ͠ͱ ͜ΖͰԿ͕͏Ε͍͠ͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴͳͲʹΑͬͯ ૢ࡞ઃఆ͕Ͳ͏มΘΔͷ͔ ͓͠ͳ͕͖
• %PDLFS)VCΛ͏߹ • )551ͰαʔϏε͞Ε͍ͯΔSFHJTUSZΛ͏߹ • )5514ͰαʔϏε͞Ε͍ͯΔSFHJTUSZΛ͏߹ EPDLFSίϚϯυͰͷSFHJTUSZࢦఆ $ docker pull
ozz/hoge $ docker login $ docker tag hogehoge ozz/hoge $ docker push ozz/hoge $ docker pull 192.168.0.1:5000/ozz/hoge $ docker tag hoge 192.168.0.1:5000/ozz/hoge $ docker push 192.168.0.1:5000/ozz/hoge $ docker pull reg.nttlabs.info:5000/ozz/hoge $ docker tag hoge reg.nttlabs.info:5000/ozz/hoge $ docker push reg.nttlabs.info:5000/ozz/hoge ˞ͨͩ͠ɺEPDLFSσʔϞϯʹJOTFDVSFSFHJTUSZͷઃఆཁʲޙड़ʳ ˞ͨͩ͠ɺSFHJTUSZ͕ΦϨΦϨূ໌ॻͳͲݕূύε͕ແޮͳαʔόূ໌ॻΛ ɹ༻͍ͯ͠Δ߹ɺEPDLFSσʔϞϯʹJOTFDVSFSFHJTUSZͷઃఆཁʲޙड़ʳ
• FUDEFGBVMUEPDLFSʹઃఆΛՃ͠ɺ %PDLFSσʔϞϯΛ࠶ىಈ 6CVOUV 6QTUBSUΛ࠾༻ ͷ JOTFDVSFSFHJTUSZઃఆ $ sudo vim
/etc/default/docker === DOCKER_OPTS="--insecure-registry=192.168.0.1:5000" === $ sudo service docker restart
6CVOUV TZTUFNEΛ࠾༻ ͷ JOTFDVSFSFHJTUSZઃఆ • FUDTZTUFNETZTUFNEPDLFSTFSWJDFEԼ ʹઃఆϑΝΠϧΛՃ͠ɺTZTUFNEʹ৽ͨͳઃ ఆΛೝࣝͤ͞ɺ%PDLFSσʔϞϯΛ࠶ىಈ $ sudo
mkdir /etc/systemd/system/docker.service.d/ $ sudo vim /etc/systemd/system/docker.service.d/ insecure-registry.conf === [Service]! ExecStart=! ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry=192.168.0.1:5000! === $ sudo systemctl daemon-reload $ sudo systemctl show docker $ sudo systemctl restart docker.service
• %PDLFSΠϝʔδͲ͜ʹஔ͔Ε͏Δͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴΛͨ͠ͱ ͜ΖͰԿ͕͏Ε͍͠ͷ͔ • %PDLFSΠϝʔδͷஔ͖ॴͳͲʹΑͬͯ ૢ࡞ઃఆ͕Ͳ͏มΘΔͷ͔ ͓͠ͳ͕͖
• ਖ਼͘͠ཧղ͠ݡ͓͘͏ ɹɹɹɹɹɹSFHJTUSZͱSFQPTJUPSZ • ؾΛ͚ͭΑ͏ ɹɹɹɹɹSFHJTUSZͷσΟεΫ༰ྔ • Ұ௮͚ɹ༰ബͯ͘͝ΊΜͳ͍͞ ͓ΘΓʹ
None