1、docker 用户进ubuntu
2、执行如下命令
- docker run -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry registry:latest
复制代码这样就搭建好了,
3、验证
- myEdgex@instance-nbpv5z80:~/docker-compose$ curl http://localhost:5000/v2/_catalog
- {"repositories":[]}
-
复制代码有返回{"repositories":[]} ,说明安装成功了。
4、配置registry2 在使用之前,修改配置一下(需要root用户权限)
- vim /lib/systemd/system/docker.service
按下图修改: 
重启docker:
- myEdgex@instance-nbpv5z80:~/docker-compose$ sudo systemctl daemon-reload
- myEdgex@instance-nbpv5z80:~/docker-compose$ sudo systemctl restart docker.service
查看状态:
- sudo systemctl status docker.service

5、使用registry2
5.1 制作镜像
- sudo docker build -t my/volume .
复制代码或导入镜像
- docker load -i myvolume.tar
- (导出方法 :sudo docker save -o myvolume.tar my/volume
5.2、打tag
- docker tag etrol/volume 127.0.0.1:5000/my/volume
5.3、push 到 registry
- docker push 127.0.0.1:5000/my/volume
6、配置带用户权限的registry registry已经可以使用了。如果想要控制registry的使用权限,使其只有在登录用户名和密码之后才能使用的话,还需要做额外的设置。 registry的用户名密码文件可以通过htpasswd来生成:
-
- mkdir /opt/registry/auth/
- docker run --entrypoint htpasswd registry:2.1.1 -Bbn root 123456 >> /opt/registry/auth/htpasswd
上面这条命令是为root用户名生成密码为123456的一条用户信息,存在/opt/registry/auth/htpasswd文件里面,文件中存的密码是被加密过的。 使用带用户权限的registry时候,容器的启动命令就跟上面不一样了,将之前的容器停掉并删除,然后执行下面的命令: docker run -d -p 5000:5000 --restart=always -v /opt/registry/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/ --name registry registry:2.1.1 这时,如果直接想查看仓库信息、pull或push都会出现权限报错。必须先使用docker login 命令来登录私有仓库
-
- docker login 192.168.0.100:5000
根据提示,输入用户名和密码即可,输入 用户root ,密码123456 如果登录成功,会在/root/.docker/config.json文件中保存账户信息,这样就可以继续使用了。 edgexfoundry学习视频见网址:https://guqiaoit.ke.qq.com/ |