Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dockerイメージ置き場の件
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
2k
Cloud Foundry について 〜日本国内のCFコミュニティ界隈の状況など〜 / Session 4-B2-1 at OpenStack Days Tokyo 2017
ozzozz
1
490
Cloud Foundry on OpenStack deep dive / Session 4-B2-5 at OpenStack Days Tokyo 2017
ozzozz
2
240
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
550
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
920
Other Decks in Technology
See All in Technology
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
370
モバイル研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
260
「休む」重要さ
smt7174
7
1.7k
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
460
CloudWatchから始めるAWS監視
butadora
0
250
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
4
1k
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
17
16k
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
340
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
190
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
160
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
180
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
170
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Optimizing for Happiness
mojombo
378
71k
GraphQLとの向き合い方2022年版
quramy
50
15k
Designing for Timeless Needs
cassininazir
1
410
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Odyssey Design
rkendrick25
PRO
2
730
KATA
mclloyd
PRO
35
15k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
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