docker私有仓库搭建 超、凢脫俗 2022-05-10 01:24 252阅读 0赞 [开发十年,就只剩下这套Java开发体系了 >>> ][Java_ _] ![hot3.png][] # 1、目的 # * 节省宽带,提高下载速率。 * 安全性,并非所有的镜像都可以公开,公司项目需要保密。 # 2、搭建registry # ## 2.1 下载镜像registry ## docker pull registry ## 2.2 启动容器 ## docker run -d -p 5000:5000 --restart=always --name=registry-srv -v /mydata/dockerRegistry:/var/lib/registry registry \-d:后台运行 \-p:将容器的5000端口映射到宿主机的5000端口 \--restart:docker服务重启后总是重启此容器 \--name:容器的名称 \-v:将容器内的/var/lib/registry映射到宿主机的/mydata/dockerRegistry目录 # 3、web服务 # 通过网页可看到有多少镜像。 ## 3.1 下载镜像 ## docker pull hyper/docker-registry-web ## 3.2 启动容器 ## docker run -it -p 8080:8080 --restart=always --name registry-web --link registry-srv -e REGISTRY_URL=http://registry-srv:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web \-it: 以交互模式运行 \--link:链接其它容器(registry-srv),在此容器中,使用registry-srv等同于registry-srv容器的局域网地址 \-e:设置环境变量 # 4、上传本地镜像到私有仓库 # 通过docker images查看本地的镜像 ## 4.1 使用tag命令修改标签 ## docker tag ybw/docker-test localhost:5000/ybw/docker-test ## 4.2 推送到仓库 ## docker push localhost:5000/ybw/docker-test **注意:** 推送失败报错: The push refers to a repository [ip:5000/ybwei/docker-test] Get https://ip:5000/v2/: http: server gave HTTP response to HTTPS client 解决办法: 在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入: { "insecure-registries": [ "localhost:5000" ] } //多个私服写法,逗号分隔即可 { "insecure-registries": [ "localhost:5000", "hub.docker.jiankunking.io:5000" ] } [Java_ _]: https://my.oschina.net/u/3779583/blog/1862418 [hot3.png]: /images/20220510/35d77a3d5f3343df8a3c60475272bab4.png
还没有评论,来说两句吧...