首页 > 其他 > 详细

Docker-----仓库

时间:2019-04-17 19:14:14      阅读:140      评论:0      收藏:0      [点我收藏+]

安装registry

安装并启动docker

yum -y install docker
systemctl enable docker
systemctl start docker

下载registry镜像

docker pull registry
docker images

启动一个容器

docker run -d -p 4000:5000 --name registry --restart=always --privileged=true -v /registry:/var/lib/registry registry  


参数说明:
-d后台执行
-p 端口映射, 宿主机4000端口映射给容器的5000端口
--restart=always 容器意外关闭后, 自动重启(如果重启docker服务, 带这个参数的, 能自动启动为Up状态, 不带这个的,不会自动启动)
-v /registry:/var/lib/registry :默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,指定本地目录挂载到容器
-privileged=true :CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误(OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTP status: 500 Internal Server Error)错误

进入容器

docker exec -it 688d5d308b56 sh

创建镜像

1、使用docker commit命令来创建镜像

通过docker run命令启动容器
修改docker镜像内容
docker commit提交修改的镜像
docker run新的镜像

2、使用dockerfile来创建镜像
不详说
然后镜像上传就可以了

上传镜像到仓库

在docker公共仓库下载一个镜像

docker pull docker.io/centos

 
来修改一下该镜像的tag(前面必须要加上仓库域名或IP地址和端口号)

docker tag centos 10.1.50.240:4000/icos/ljy-centos

 
把打了tag的镜像上传到私有仓库

docker push 10.1.50.240:4000/icos/ljy-centos

 

因为从 docker1.3.2 开始,docker registry 默认都是使用 https 协议而不使用 http,需要修改一下配置,让你的私有仓库支持 http

[root@localhost docker]# more daemon.json 
{
    "insecure-registries":["0.0.0.0/0"]
}
[root@localhost docker]# 

修改后,重启docker

仓库下载镜像

在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入
# 添加这一行

"insecure-registries":["10.1.50.240:4000"]

 
//多个私服写法,逗号分隔即可

{
    "insecure-registries": [
        "registry:4000",
        "registry2:4000"
    ]
}

 
下载私有仓库镜像
docker pull 10.1.50.240:4000/icos/ljy-centos

查看本地仓库镜像
curl http://10.1.50.240:4000/v2/_catalog

Docker-----仓库

原文:https://www.cnblogs.com/jinyuanliu/p/10724760.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!