docker 将本地镜像推送到私有库

文章目录

    • 下载镜像Docker Registry
    • 运行私有库Registry,相当于本地有个私有Docker hub
    • 打开个ubantu进行网络配置
    • 提交形成一个新的镜像
    • curl 查看私服镜像
    • 修改符合私服规范的Tag
    • 修改配置文件使之支持http
    • push 到私服库
    • pull 在拉到本地

下载镜像Docker Registry

docker pull registry
docker 将本地镜像推送到私有库_第1张图片

运行私有库Registry,相当于本地有个私有Docker hub

docker run -d -p 5000:5000 -v /thm/myregistry/:/tmp/registry --privileged=true registry

默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调

在这里插入图片描述

打开个ubantu进行网络配置

docker容器内执行上述两条命令:

apt-get update

apt-get install net-tools
ifconfig 

docker 将本地镜像推送到私有库_第2张图片

提交形成一个新的镜像

公式:

docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

命令:在容器外执行,记得

docker commit -m="ifconfig cmd add" -a="thm" 52ebb49bb452 myubuntu:1.2

在这里插入图片描述
在这里插入图片描述
我们自己commit构建的新镜像,新增加了ifconfig功能,可以成功使用。
docker 将本地镜像推送到私有库_第3张图片
docker 将本地镜像推送到私有库_第4张图片

curl 查看私服镜像

curl -I http://<私服地址>:<端口>/镜像路径

docker 将本地镜像推送到私有库_第5张图片

curl -XGET http://192.168.196.100:5000/v2/_catalog

修改符合私服规范的Tag

docker tag 镜像:Tag Host:Port/Repository:Tag
docker tag myubuntu 192.168.196.100:5000/myubuntu:1.2

docker 将本地镜像推送到私有库_第6张图片

修改配置文件使之支持http

vim /etc/docker/daemon.json

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

docker 将本地镜像推送到私有库_第7张图片

重启docker 并开启registry

sudo systemctl restart docker

docker run -d -p 5000:5000  -v /thm/myregistry/:/tmp/registry --privileged=true registry

push 到私服库

docker push 192.168.196.100:5000/myubuntu:1.2
有的时候报错是因为没有设置tag

验证一下又哪有些在本地:
curl -XGET http://192.168.196.100:5000/v2/_catalog
在这里插入图片描述

pull 在拉到本地

docker pull 192.168.196.100:5000/myubuntu:1.2

docker 将本地镜像推送到私有库_第8张图片

你可能感兴趣的:(docker,docker,容器,运维)