1 安裝docker環境
為了能快速拉取鏡像,建議配置一下docker的國内鏡像加速位址,網上這類教程很多,docker安裝此處不再贅述,也可參考《Debian及ubuntu下如何搭建docker運作環境》
2 拉取registry鏡像
root@debian:~# docker pull registry Using default tag: latest latest: Pulling from library/registry 79e9f2f55bf5: Pull complete 0d96da54f60b: Pull complete 5b27040df4a2: Pull complete e2ead8259a04: Pull complete 3790aef225b9: Pull complete Digest: sha256:169211e20e2f2d5d115674681eb79d21a217b296b43374b8e39f97fcf866b375 Status: Downloaded newer image for registry:latest docker.io/library/registry:latest root@debian:~# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE registry latest b8604a3fe854 12 months ago 26.2MB |
3 在主控端上建立資料存儲目錄
root@debian:/# mkdir -p /opt/registryData |
4 啟動registry容器
容器配置為背景運作,将容器服務端口映射到主控端80端口,挂載資料存儲目錄,設定容器自啟動
root@debian:/# docker run -d -p 80:5000 -v /opt/registryData:/var/lib/registry --restart=always --name localRegistry registry 3e039e259a2d03925b4a6937e1c498c568a707e99c04ce9bc29cf716ad3a40c2 root@debian:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e039e259a2d registry "/entrypoint.sh /etc…" About a minute ago Up About a minute 0.0.0.0:80->5000/tcp, :::80->5000/tcp localRegistry |
5 配置私有倉庫位址
root@debian:/# vi /etc/docker/daemon.json { "registry-mirrors": ["https://e4vaaqhb.mirror.aliyuncs.com"], "insecure-registries": ["192.168.100.200"] ##新增 } |
6 重新開機docker服務
root@debian:/# systemctl restart docker root@debian:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES root@debian:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e039e259a2d registry "/entrypoint.sh /etc…" 10 minutes ago Up 3 seconds 0.0.0.0:80->5000/tcp, :::80->5000/tcp localRegistry |
7 測試私有鏡像庫是否工作正常
拉取nginx鏡像
root@debian:/# docker pull nginx:latest latest: Pulling from library/nginx a2abf6c4d29d: Pull complete a9edb18cadd1: Pull complete 589b7251471a: Pull complete 186b1aaa4aa6: Pull complete b4df32aa5a72: Pull complete a0bcbecc962e: Pull complete Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest |
标記本地nginx鏡像,歸入本地私有倉庫
root@debian:/# docker tag nginx:latest 192.168.100.200/nginx |
将鏡像推送到本地私有倉庫
root@debian:/# docker push 192.168.100.200/nginx Using default tag: latest The push refers to repository [192.168.100.200/nginx] d874fd2bc83b: Pushed 32ce5f6a5106: Pushed f1db227348d0: Pushed b8d6e692a25e: Pushed e379e8aedd4d: Pushed 2edcec3590a4: Pushed latest: digest: sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3 size: 1570 |
删除本地相關的nginx鏡像
root@debian:/# docker rmi 192.168.100.200/nginx nginx Untagged: 192.168.100.200/nginx:latest Untagged: 192.168.100.200/nginx@sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3 Untagged: nginx:latest Untagged: nginx@sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31 Deleted: sha256:605c77e624ddb75e6110f997c58876baa13f8754486b461117934b24a9dc3a85 Deleted: sha256:b625d8e29573fa369e799ca7c5df8b7a902126d2b7cbeb390af59e4b9e1210c5 Deleted: sha256:7850d382fb05e393e211067c5ca0aada2111fcbe550a90fed04d1c634bd31a14 Deleted: sha256:02b80ac2055edd757a996c3d554e6a8906fd3521e14d1227440afd5163a5f1c4 Deleted: sha256:b92aa5824592ecb46e6d169f8e694a99150ccef01a2aabea7b9c02356cdabe7c Deleted: sha256:780238f18c540007376dd5e904f583896a69fe620876cabc06977a3af4ba4fb5 Deleted: sha256:2edcec3590a4ec7f40cf0743c15d78fb39d8326bc029073b41ef9727da6c851f root@debian:/# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE registry latest b8604a3fe854 12 months ago 26.2MB |
從本地私有鏡像庫中拉取nginx鏡像
root@debian:/# docker pull 192.168.100.200/nginx Using default tag: latest latest: Pulling from nginx a2abf6c4d29d: Pull complete a9edb18cadd1: Pull complete 589b7251471a: Pull complete 186b1aaa4aa6: Pull complete b4df32aa5a72: Pull complete a0bcbecc962e: Pull complete Digest: sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3 Status: Downloaded newer image for 192.168.100.200/nginx:latest 192.168.100.200/nginx:latest root@debian:/# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.100.200/nginx latest 605c77e624dd 10 months ago 141MB registry latest b8604a3fe854 12 months ago 26.2MB |
Ok,到這裡,已确認本地docker鏡像倉庫可正常運作