2、无认证启动registry容器
上传到私有仓库的镜像时是默认存放在容器的/var/lib/registry/,为了防止删除registry时上传的镜像也被删除,所以启用一个volume,将上传的镜像持久化保存在我们物理机上,这里保存位置是/opt/registry/。
docker run -d –name registry -p5000:5000 –restart=always -v /opt/registry/:/var/lib/registry/ registry:2.6.0
测试是否启动容器
curlhttp://192.168.1.78:5000/v2/_catalog如果返回以下信息表示启动成功
{"repositories":["mynginx"]}3、私有仓库推拉私有镜像
测试上传到我们自己的私有registry,首先将mynginx镜像重命名tag:
docker tag mynginx 192.168.1.78:5000/mynginx这里需要注意的是重命名的tag必须带有建立192.168.1.78:5000/这个前缀,后面的mynginx是新镜像名,二者名称可以不同。然后开始push到我们建立的私有registry仓库:
docker push 192.168.1.78:5000/mynginx检测推送镜像的情况,返回以下结果说明推送正常。
curl http://192.168.1.78:5000/v2/_catalog{"repositories":["mynginx"]}
测试私有仓库镜像拉取pull,本机拉取如下:
docker rmi 192.168.1.78:5000/mynginx其他物理主机拉取私有仓库镜像,在安装docker前提下配置/etc/docker/daemon.json文件添加insecure-registries,ip地址自己更改:
{
"insecure-registries":["192.168.1.78:5000"]}
然后重启docker,执行pull,同理也可以上传镜像
systemctl daemon-reloadsystemctl restart docker
docker pull 192.168.1.78:5000/mynginx
4、Dockerfile创建服务镜像
Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。
基于centos7创建镜像,首先拉取centos7镜像,
docker pull centos7










