主机 | IP | HOST |
---|
Docker Registry | 13.13.2.2 | registry |
Docker Client-1 | 13.13.3.3 | docker01 |
Docker Client-2 | 13.13.4.4 | docker02 |
[root@docker ~]
[root@docker ~]
[root@docker ~]
[root@docker ~]
[root@registry ~]
[root@registry ~]
13.13.2.2 registry
13.13.3.3 docker01
13.13.4.4 docker02
[root@registry ~]
- 编写registry服务启动文件(registry)
[root@registry ~]
[root@registry ~]
[root@registry ~]
registry:
restart: always
image: registry
container_name: registry-daemon
ports:
- 5000:5000
environment:
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_PATH: /etc/docker/registry/auth/htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
volumes:
- /var/lib/registry:/var/lib/registry
- /etc/docker/registry/auth/:/etc/docker/registry/auth/
/etc/docker/registry/auth/
:确认registry认证时的密码文件路径,否则会认证失败,如下:
[root@registry ~]
....
- /etc/docker/registry/auth/:/auth/
[root@registry registry]
Username: duser
Password:
Error response from daemon: login attempt to http://registry:5000/v2/ failed with status: 401 Unauthorized
[root@registry registry]
time="2020-10-07T03:41:34.891374071Z" level=warning msg="htpasswd is missing, provisioning with default user" go.version=go1.11.2 password="tKpELoAn_Pgll5pdqxLFKMPObiaARVTh5xIMKxqRbgQ" user=docker
[root@registry registry]
/
docker:tKpELoAn_Pgll5pdqxLFKMPObiaARVTh5xIMKxqRbgQ
/
- 生成密码文件(registry)
[root@registry ~]
[root@registry ~]
[root@registry ~]
[root@registry ~]
- 启动registry服务(registry)
[root@registry ~]
[root@registry ~]
[root@registry ~]
[root@registry ~]
[root@registry registry]
Creating registry_registry_1 ... done
[root@registry registry]
- 开放防火墙端口(registry)
[root@registry ~]
success
[root@registry ~]
success
[root@registry ~]
- 暴露registry服务(all)
[root@registry ~]
[root@registry ~]
{
"insecure-registries":["registry:5000"]
}
[root@registry ~]
[root@registry ~]
[root@docker01 ~]
[root@docker01 ~]
[root@docker01 ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
registry:5000/busybox latest 6858809bf669 4 weeks ago 1.23MB
busybox latest 6858809bf669 4 weeks ago 1.23MB
[root@docker01 ~]
Username: duser
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/
Login Succeeded
[root@docker01 ~]
The push refers to repository [registry:5000/busybox]
be8b8b42328a: Pushed
latest: digest: sha256:2ca5e69e244d2da7368f7088ea3ad0653c3ce7aaccd0b8823d11b0d5de956002 size: 527
[root@docker01 ~]
[root@docker02 ~]
[root@docker02 ~]
latest: Pulling from busybox
df8698476c65: Pull complete
Digest: sha256:2ca5e69e244d2da7368f7088ea3ad0653c3ce7aaccd0b8823d11b0d5de956002
Status: Downloaded newer image for registry:5000/busybox:latest
registry:5000/busybox:latest
[root@docker02 ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
registry:5000/busybox latest 6858809bf669 4 weeks ago 1.23MB
[root@docker02 ~]