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.4k
Running Concourse CI on enterprise private cloud
ozzozz
1
560
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
930
Other Decks in Technology
See All in Technology
DORA_Metrics.pdf
wagnerfusca
1
140
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
140
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
1
170
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
260
CI/CDではもう遅い - 人とAIが迂回しないDevSecOps Verify基盤の再設計 -
kintotechdev
1
630
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
290
形式手法を使って仕様をコーディングしよう
mikanichinose
0
160
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
170
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
210
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
220
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
290
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
140
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Git: the NoSQL Database
bkeepers
PRO
432
67k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
エンジニアに許された特別な時間の終わり
watany
109
250k
So, you think you're a good person
axbom
PRO
2
2.2k
Tell your own story through comics
letsgokoyo
1
1.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
WENDY [Excerpt]
tessaabrams
14
40k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
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