其他分享
首页 > 其他分享> > 将本地镜像推送到私有库

将本地镜像推送到私有库

作者:互联网

一、下载docker registry

docker pull registry

二、运行私有库registry,相当于本地有个私有Docker hub

docker run -d -p 5000:5000 -v /test:/tmp/registry --privileged=true registry
*注: 默认情况,仓库被创建在容器的/var/liblregistry目录下,建议自行用容器卷映射,方便于宿主机联调

三、提交定制容器成为一个新镜像

  1. 启动一个容器

    docker run
    
  2. 在该容器内安装自己需要的工具

  3. 通过docker commit命令提交该容器,使之成为一个新镜像

    docker commit -m="描述说明" -a="作者" 容器id 要创建的镜像名称:TAG
    

四、将创建的新镜像,提交到本地的私有库registry中

  1. curl验证私服库上有什么镜像(在容器 外运行)

    curl -XGET http://本地ip:5000/v2/_catalog
    
  2. 将新镜像修改符合私服规范的Tag

    docker tag 新镜像名称:TAG 本地IP:5000/提交后的镜像名称:TAG
    
  3. 取消docker默认不允许http方式推送镜像

    vi /etc/docker/deamon.json
    {
    "registry-mirrors": ["https://*****.mirror.aliyuncs.com"],
    "insecure-registries": ["本地IP:5000"]
    }
    

    *注:若修改不生效,建议重启docker【$ systemctl restart docker】

  4. 若重启了docker,需要重新启动Registry私服仓库

    docker run -d -p 5000:5000 -v /test:/tmp/registry --privileged=true registry
    
  5. 推送本地镜像到私服库

    docker push 推送镜像名称:TAG
    

五、验证

  1. curl验证私服库上镜像是否推送成功(在容器外运行)

    curl -XGET http://本地ip:5000/v2/_catalog
    
  2. 删除本地用于推送的新镜像

    docker rmi -f 镜像名称:TAG
    
  3. 拉取私服上的镜像

    docker pull 本地IP/要拉取的镜像名称:TAG
    

标签:容器,5000,私有,私服,registry,镜像,docker,推送
来源: https://www.cnblogs.com/quifan/p/16648048.html