dcoker 从自建私有仓库到自定义镜像的上传 到删除私有仓库镜像

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37049050/article/details/82592590

docker使用现有容器生成新的镜像

基本形式:

docker commit -m "change somth" -a "somebody info" container_id(docker ps -a获取id) 新镜像名字

eg.
Ian 
docker commit -m "install httpd" -a   ”frank  ie" 2c74d574293f frankie/centos  

 

环境准备

环境:两个装有Docker 17.09.0-ce 的centos7虚拟机 
虚拟机一:192.168.0.154 用户开发机 
虚拟机二:192.168.0.153 用作私有仓库

搭建私有仓库


在153机器上下载registry镜像:

docker pull registry

先启动容器:

docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry 

之后可以使用查看命令:

docker ps

可以看到启动的容器以及端口。

可以在网页访问 :http://192.168.0.153:5000/v2/_catalog 查看私有仓库中的镜像。

之后需要修改154 的配置,在 /etc/docker/daemon.json写入:

{
   "registry-mirrors": [
      "https://kv3qfp85.mirror.aliyuncs.com"
   ],
   "insecure-registries": [
      "192.168.0.153:5000"
    ]
}

重启docker

sudo systemctl restart docker

测试:现将本地镜像添加tag

docker tag busybox 192.168.0.153:5000/busybox

接下来把打了tag的镜像上传到私有仓库。

docker push 192.168.0.153:5000/busybox

上传后可以通过网页访问该地址查看上传的镜像 返回的是一个json:

http://192.168.0.153:5000/v2/_catalog

接下来我们从私有仓库中pull下来该镜像。

sudo docker pull 192.168.0.153:5000/busybox

如果是ubuntu 免sudo 的配置如下:

如果还没有 docker group 就添加一个:
sudo groupadd docker

将用户加入该 group 内。然后退出并重新登录就生效啦。
sudo gpasswd -a ${USER} docker

重启 docker 服务
sudo service docker restart

group 或者重启 X 会话
newgrp - docker
或者
pkill X

删除

1.打开镜像的存储目录,如有-V操作打开挂载目录也可以,删除镜像文件夹

$ docker exec <容器名> rm -rf /var/lib/registry/docker/registry/v2/repositories/<镜像名>

2.执行垃圾回收操作,注意2.4版本以上的registry才有此功能

$ docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml

 3.重启

猜你喜欢

转载自blog.csdn.net/qq_37049050/article/details/82592590
今日推荐