一、操作步骤
1、重命名镜像名,保证名字唯一
docker tag image_id register_host/<user name>/image_name
[root@local-vm-319 ~]$ docker images|grep logstash
logstash 7.8.3 4a732da07bbe 5 weeks ago 566MB[root@local-vm-319 ~]$ docker tag 4a732da07bbe 192.168.1.100:443/root/logstash:7.8.3
2、登录 docker 服务器
docker login -u username -p password register_host
[root@local-vm-319 logstash-image]$ docker login -u root -p test123 192.168.1.100:443
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/bigdata/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
3、推送至私服
[root@local-vm-319 logstash-image]$ docker push 192.168.1.100:443/root/logstash:7.8.3
The push refers to repository [192.168.1.100:443/root/logstash]
099536afcc46: Pushed
beee62a48167: Pushed
19cd015fd334: Pushed
f6b5fa5e0e7a: Pushed
dfd5ce24e913: Pushed
13b81819ffec: Pushed
19cd2cdab5df: Pushed
15d6fc91da93: Pushed
eb5a1e495921: Pushed
180013f25e33: Pushed
e7b65473959d: Pushed
ed0aa6ab7d49: Pushed
174f56854903: Pushed
7.8.3: digest: sha256:3a0f24b826b188344d55a20e47e1d9165a0e6d0206e3ce20ab78de0d0cdf6d3d size: 3245
二、可能遇到的问题
1、x509 certificate signed by unknown authority error
[root@local-vm-319 docker]$ docker push 192.168.1.100:443/root/logstash:7.8.3
The push refers to repository [192.168.1.100:443/root/logstash]
Get https://192.168.1.100:443/v2/: x509: certificate signed by unknown authority
原因分析:
- 没有登录到docker服务器
- 登录机器没有安装签名证书
解决办法:
对于没有安装签名证书,则需将自签名证书复制到 /etc/docker/certs.d/<your_registry_host_name>:<your_registry_host_port>/ca.crt 安装到 docker login 命令的机器上,让 docker 信任自签名证书。
eg:
docker login from host: local-vm-310, ip: 192.168.1.200
docker register server host: local-vm-319, ip: 192.168.1.100
[root@local-vm-310 docker]$ mkdir -p /etc/docker/certs.d/192.168.1.100:443
[root@local-vm-310 docker]$ scp 192.168.1.100:/opt/registry/certs/domain.crt /etc/docker/certs.d/192.168.1.100:443/ca.crt