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
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
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
560
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
930
Other Decks in Technology
See All in Technology
プロダクトエンジニアに必要な「いい感じ」に作る能力 〜たくさん作れる時代に、どこまで作るかの決め方〜
jnishime_dresscode
2
1.4k
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
240
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
190
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
150
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
530
When Does a Local Qwen Start to Break
morshoto
0
180
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
200
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.2k
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
390
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
120
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
230
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
GitHub's CSS Performance
jonrohan
1033
470k
Embracing the Ebb and Flow
colly
88
5.2k
The untapped power of vector embeddings
frankvandijk
2
1.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
770
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
330
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
Building Adaptive Systems
keathley
44
3.2k
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