命令行界面registry
官方出品,没有图形界面,Docker hub官方已提供容器镜像registry,用于搭建私有仓库。
# 拉取镜像:
docker pull daocloud.io/library/registry:latest
# 运行容器:
docker run -d -v /home/dockerdata/registry:/var/lib/registry --name "pri_registry" --restart=always -p 5000:5000 daocloud.io/library/registry
# 参数解释:
/home/dockerdata/registry表示为宿主机的目录,如果不存在自动创建
-v 映射目录:宿主机的目录:容器目录 # 把宿主机的目录挂载到容器中,将数据目录挂载出来就是为了防止docker私有仓库这个容器被删除的时候,仓库里面的镜像也被删除。
-p 端口映射:本地端口:容器端口
# 测试是否成功,看返回状态码是否是200
curl -I http://127.0.0.1:5000
在docker客户端上测试
# 先拉取一个镜像
docker pull daocloud.io/library/busybox
# 修改镜像的tag
docker tag daocloud.io/library/busybox 192.168.201.128:5000/busybox # 192.168.201.128是刚刚部署私有仓库的服务器ip地址
# docker pull、push默认的为https,需要修改为http
vim /etc/docker/daemon.json # 不存在则创建
{ "insecure-registries":["192.168.201.128:5000"] }
# 重启docker:
systemctl restart docker
# 上传镜像
docker push 192.168.201.128:5000/busybox
# 拉取镜像
docker pull 192.168.201.128:5000/busybox
# 查看私有仓库里的所有镜像
语法: curl http://ip:port/v2/repo名字/tags/list
例: curl http://192.168.201.128:5000/v2/busybox/tags/list
UI界面ui-for-docker
docker pull uifd/ui-for-docker
docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker
浏览器访问:
http://IP:9000