Docker之私有仓库搭建-yellowcong
来源:互联网 发布:java面向对象测试题 编辑:程序博客网 时间:2024/06/14 14:42
搭建好了私有仓库,这样我们就可以在自己的仓库里存放自己的应用,同时也方便Kubernate的镜像获取,环境搭建过程中,需要注意几点:1、Docker的镜像仓库的存储地址在容器的/var/lib/registry 目录,2、启动仓库,需要给权限
--privileged=true
,3、需要开放https的协议问题(这是新版本的docker[1.12.6]解决方案,老版本的方法不一样)
1、下载镜像
#下载registry镜像docker pull index.tenxcloud.com/docker_library/registry#查看下载后的镜像docker images #更名,将长明称更改为短名称的镜像docker tag daocloud.io/library/registry:latest registry:latest
2、启动镜像服务器
–restart=always 表示自动启动容器
-v <宿主机目录>:<容器目录> 将宿主机的目录映射到容器上
–privileged=true 给容器加权限,这样上传就不会因为目录权限出错
/var/lib/registry 这个目录是docker私有仓库,镜像的存储目录
#创建数据存储的文件夹 ,将容器的/tem/registry目录映射到/docker/registrymkdir /docker/registry#启动容器,设定端口5000 ,然后映射文件夹,-v <宿主机目录>:<容器目录>sudo docker run -d -p 5000:5000 --name registry-ser --restart=always --privileged=true -v /docker/registry:/var/lib/registry registry#--restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。 #--restart的参数说明 # always:无论容器的退出代码是什么,Docker都会自动重启该容器。 # on-failure:只有当容器的退出代码为非0值的时候才会自动重启。#另外,该参数还接受一个可选的重启次数参数,`--restart=on-fialure:5`表示当容器退出代码为非0时,Docker#会尝试自动重启该容器,最多5次。#删除镜像docker rm -f registry-ser
3、开放注册https协议
vim /etc/docker/daemon.json#添加配置文件{"insecure-registries":["192.168.66.100:5000"]}#重启服务systemctl restart docker
4、推送镜像到仓库
#必须要先将镜像的名称给变成 域名或ip/镜像名docker tag centos7:latest 192.168.66.100:5000/centos7#推送到本地的仓库上docker push 192.168.66.100:5000/centos7
上传成功后,可以看到推送成功
查看本地映射的目录/docker/register
,可以看到映射的文件夹目录有centos的镜像数据了
5、下载本地仓库镜像
#删除本地上传的那个仓库,然后下载看看docker rmi 192.168.66.100:5000/centos7#下载本地仓库的镜像docker pull 192.168.66.100:5000/centos7
下载成功
问题合计
1 镜像名称问题
You cannot push a “root” repository. Please rename your repository to docker.io// (ex: docker.io//centos7)
这个必须先将镜像给改名为ip/xxx的,才可以推送到服务器上
2 Https协议问题
Get https://192.168.66.100:5000/v1/_ping: http: server gave HTTP response to HTTPS client
这个问题可能是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“192.168.1.100:5000”请求改为http。
目前很多文章都是通过修改docker的配置文件“etc/systemconfig/docker”,重启docker来解决这个问题。但发现docker1.12.3版本并无此文件,根据网上创建此文件,并填入相应内容,重启docker无效果,仍然报此错误。
vim /etc/docker/daemon.json#添加配置文件{"insecure-registries":["192.168.66.100:5000"]}
3.Retrying in 4 seconds
上传镜像的时候,上传不上去,导致这个问题的原因是,权限不够,需要给这个容器扩展的特权–privileged=true
- Docker之私有仓库搭建-yellowcong
- Docker之Centos7 Docker私有仓库搭建
- Docker私有仓库管理之Harbor搭建
- Docker入门之四搭建私有仓库
- Docker搭建私有仓库
- Docker私有仓库搭建
- 搭建Docker私有仓库
- 搭建docker私有仓库
- docker 搭建私有仓库
- 搭建docker私有仓库
- Docker私有仓库搭建
- docker搭建私有仓库
- docker私有仓库搭建
- docker搭建私有仓库
- docker私有仓库搭建
- Docker私有仓库搭建
- Docker私有仓库搭建
- Docker私有仓库搭建
- spark redis 中碰到java.net.SocketTimeoutException: Read timed out问题的解决
- GYM Amman 17 G. Super Subarray 暴力,最小公倍数.
- python输出不自动换行格式
- 关于Matlab下的cell元胞与struct结构体
- 回溯法(4)
- Docker之私有仓库搭建-yellowcong
- 进程与线程的区别与联系
- 轮播图
- PCB制作中的过孔
- problems encountered during text search
- VS2017写代码时几个常用的快捷键
- 回溯法(5)
- byte数组的转化
- Android和iOS的名片拍照扫描识别功能sdk