Docker容器registry创建私有服务器

1.docker pull registry

2.

docker run -d -p 5000:5000 --privileged=true -v /opt/data/registry:/var/lib/registry registry

注意:如果不加--privileged=true的时候,在push image的时候会报received unexpected HTTP status: 500 Internal Server Error

此版本registry默认的容器仓库地址/var/lib/registry


3.测试

docker  images

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
docker.io/registry       latest              c2a449c9f834        6 days ago          33.18 MB
docker.io/ubuntu         latest              d355ed3537e9        2 weeks ago         119.2 MB
127.0.0.1:5000/centos    latest              3bee3060bfc8        4 weeks ago         192.5 MB
127.0.0.1:5000/centoss   latest              3bee3060bfc8        4 weeks ago         192.5 MB
docker.io/registry       2.1.1               52bb991b482e        20 months ago       220.1 MB


docker tag d355ed3537e9  127.0.0.1:5000/ubuntu


docker images 

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
docker.io/registry       latest              c2a449c9f834        6 days ago          33.18 MB
docker.io/ubuntu         latest              d355ed3537e9        2 weeks ago         119.2 MB
127.0.0.1:5000/ubuntu    latest              d355ed3537e9        2 weeks ago         119.2 MB
127.0.0.1:5000/centos    latest              3bee3060bfc8        4 weeks ago         192.5 MB
127.0.0.1:5000/centoss   latest              3bee3060bfc8        4 weeks ago         192.5 MB
docker.io/registry       2.1.1               52bb991b482e        20 months ago       220.1 MB


docker push 127.0.0.1:5000/ubuntu

The push refers to a repository [127.0.0.1:5000/ubuntu]
0566c118947e: Pushed 
6f9cf951edf5: Pushed 
182d2a55830d: Pushed 
5a4c2c9a24fc: Pushed 
cb11ba605400: Pushed 
latest: digest: sha256:a0ee7647e24c8494f1cf6b94f1a3cd127f423268293c25d924fbe18fd82db5a4 size: 1357

测试成功


4.配置私有仓库通过用户登录

 4.1准备

  1. mkdir /opt/registry-var/auth/  
  2. docker run --entrypoint htpasswd registry -Bbn test test1  >> /opt/registry-var/auth/htpasswd  
创建/opt/registry-var/auth的文件夹

 -Bbn 参数用于添加用户名与密码,上面添加了用户名为test 用户密码为test1的用户

 4.2启动registry的命令

docker run -d -p 5000:5000 --restart=always --privileged=true -v /opt/registry-var/auth/:/auth/ -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd  -v /opt/registry:/var/lib/registry registry

命令详解:

-p 5000:5000  #指定宿主机端口与容器端口的绑定

-e xxxx    #添加环境变量

-v #指定宿主机文件挂载到 容器某个文件下


4.3测试

没有登录的话  pull,push命令回报错

登录  docker login 127.0.0.1:5000

根据提示输入 用户名 与用户密码

提示:

[root@localhost auth]# docker login 127.0.0.1:5000
Username: test
Password: 
Login Succeeded

登录成功后可以正常操作

你可能感兴趣的:(docker,docker)