docker构建私有仓库并设置仓库用户和密码

一、docker构建私有仓库

#搭建私有镜像仓库
[root@docker_test opt]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
Get https://registry-1.docker.io/v2/library/registry/manifests/sha256:b1165286043f2745f45ea637873d61939bff6d9a59f76539d6228abf79f87774: net/http: TLS handshake timeout

#查看镜像
[root@docker_test opt]# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
nginx                          v1                  6282d012bf54        About an hour ago   446MB
mysql                          latest              990386cbd5c0        2 weeks ago         443MB
richarvey/nginx-php-fpm        latest              3fd3101af9bd        2 weeks ago         328MB
192.168.56.60:5000/centos7.0   v1                  9f38484d220f        2 months ago        202MB
centos                         7                   9f38484d220f        2 months ago        202MB
registry                       latest              f32a97de94e1        2 months ago        25.8MB

#创建文件夹,往文件中添加密码
[root@docker_test opt]# cd /opt/
[root@docker_test opt]# mkdir auth
[root@docker_test opt]# cd /opt/auth/
[root@docker_test opt]# ll
total 0
drwxr-xr-x 2 root root 22 May 26 15:02 auth
drwx--x--x 4 root root 28 May 26 09:40 containerd
drwxr-xr-x 2 root root  6 May 26 14:53 registry
[root@docker_test opt]# cd auth/

[root@docker_test auth]# echo "user:nulige passwd:123456" >htpasswd
[root@docker_test auth]# cd ..
[root@docker_test opt]# ll
total 0
drwxr-xr-x 2 root root 22 May 26 15:05 auth
drwx--x--x 4 root root 28 May 26 09:40 containerd
drwxr-xr-x 2 root root  6 May 26 14:53 registry

#格式转换
[root@docker_test opt]# docker run --entrypoint htpasswd registry:latest -Bbn nulige 123456 >auth/htpasswd

[root@docker_test opt]# ll
total 0
drwxr-xr-x 2 root root 22 May 26 15:05 auth
drwx--x--x 4 root root 28 May 26 09:40 containerd
drwxr-xr-x 2 root root  6 May 26 14:53 registry

[root@docker_test opt]# cat auth/htpasswd 
nulige:$2y$05$9lG7QFC/hSCj/s.c4769K.4mSsqWF5OwTPv2UP6.itFGlWCV/HwVS

#启动registry1容器 ,默认端口5000映射到5000
docker run  -d -p 5000:5000 --restart=always --name registry1 \
     -v `pwd`/auth:/auth \
     -e "REGISTRY_AUTH=htpasswd" \
     -e  "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
     -e  REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
     registry

#配置使用私有仓库
[root@docker_test ~]# cat /etc/docker/daemon.json 
{
"insecure-registries":["127.0.0.1:5000"]
}

#重启服务
systemctl restart docker

#登录镜像仓库
[root@docker_test opt]# docker login 127.0.0.1:5000
Username: nulige
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/#credentials-store
Login Succeeded

#给镜像打tag
[root@docker_test opt]# docker tag richarvey/nginx-php-fpm:latest 127.0.0.1:5000/nulige/nginx
[root@docker_test opt]# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
nginx                          v1                  6282d012bf54        2 hours ago         446MB
mysql                          latest              990386cbd5c0        2 weeks ago         443MB
127.0.0.1:5000/nulige/nginx    latest              3fd3101af9bd        2 weeks ago         328MB
richarvey/nginx-php-fpm        latest              3fd3101af9bd        2 weeks ago         328MB
192.168.56.60:5000/centos7.0   v1                  9f38484d220f        2 months ago        202MB
centos                         7                   9f38484d220f        2 months ago        202MB
registry                       latest              f32a97de94e1        2 months ago        25.8MB

#上传镜像
[root@docker_test opt]# docker push 127.0.0.1:5000/nulige/nginx
The push refers to repository [127.0.0.1:5000/nulige/nginx]
eec165118982: Pushed 
353ba0871334: Pushed 
679c6ac9bd06: Pushed 
3ddda5f15575: Pushed 
a2cb1314b8cd: Pushed 
45a48afbef6b: Pushed 
21791e460009: Pushed 
3f8a198a5690: Pushed 
6ace97c9dd6b: Pushed 
a0279b0ac758: Pushed 
79a735cb2096: Pushed 
a464c54f93a9: Pushed 
latest: digest: sha256:4f914a0c9d25066eaf7cdd734452803ec307ad82605cbdb98d0bc57ba84603e2 size: 6364

#查看镜像
[root@docker_test opt]# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
registry                       latest              f32a97de94e1        2 months ago        25.8MB
127.0.0.1:5000/nulige/nginx    latest              3fd3101af9bd        2 weeks ago         328MB

#删除镜像
[root@docker_test opt]# docker rmi -f 3fd3101af9bd
Untagged: 127.0.0.1:5000/nulige/nginx:latest
Untagged: 127.0.0.1:5000/nulige/nginx@sha256:4f914a0c9d25066eaf7cdd734452803ec307ad82605cbdb98d0bc57ba84603e2
Untagged: richarvey/nginx-php-fpm:latest
Untagged: richarvey/nginx-php-fpm@sha256:4f914a0c9d25066eaf7cdd734452803ec307ad82605cbdb98d0bc57ba84603e2
Deleted: sha256:3fd3101af9bdb10dd6b84e121c06abddf1d2ca29543e608bae3a12d6dae1d797

#从私有仓库中下载镜像
[root@docker_test opt]# docker pull 127.0.0.1:5000/nulige/nginx:latest
latest: Pulling from nulige/nginx
bdf0201b3a05: Already exists 
ea6e561c50e0: Already exists 
f581654c6ada: Already exists 
f205a7399250: Already exists 
4dba97d8c6bd: Already exists 
9042ecea402d: Already exists 
bfbd0774205d: Already exists 

#查看镜像
[root@docker_test opt]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
nginx                         v1                  6282d012bf54        2 hours ago         446MB
mysql                         latest              990386cbd5c0        2 weeks ago         443MB
127.0.0.1:5000/nulige/nginx   latest              3fd3101af9bd        2 weeks ago         328MB
centos                        7                   9f38484d220f        2 months ago        202MB
registry                      latest              f32a97de94e1        2 months ago        25.8MB

  

posted @ 2019-05-26 15:02  努力哥  阅读(16855)  评论(0编辑  收藏  举报