docker私有仓库搭建
开发十年,就只剩下这套Java开发体系了 >>>
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"
]
}
还没有评论,来说两句吧...