本地镜像发布到私有库

步骤

  • 下载Docker Registry
1
docker pull registry
  • 运行私有库 Registry,相当于本地有Docker Registry
1
docker run -d -p 5000:5000 -v/ggls/myregistry/:/tmp/registry --privileged=true registry
  • 新启动ubuntu容器,新增ifconfig命令

    • ​ 进入容器中输入apt-get update命令
    • ​ 输入apt-get install net-tools命令
    • xxxxxxxxxx [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES356e32244966 mytest/ubuntu:3.5 “bash” 2 hours ago Up 2 hours elated_aryabhata[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker commit -m=”vim cmd add ok” -a=”ggls” 356e32244966 ggls/ubuntu:1.5sha256:87e99e19eeef47d4f0daaffc8498690614e0d95eae60ef61b439abe97b62fd16[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEggls/ubuntu 1.5 87e99e19eeef 7 seconds ago 176MBmytest/ubuntu 3.5 a92a27affdde 2 hours ago 72.8MBtomcat 9.0 b8e65a4d736d 4 months ago 680MBubuntu latest ba6acccedd29 6 months ago 72.8MBredis 6.0.8 16ecd2772934 18 months ago 104MB[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# shell
  • 容器外部执行docker commit -m="ifconfig cmd add" -a="ggls" ffcc5edf5071 ubuntu:1.6命令

  • curl验证私服库上有什么镜像

1
curl -XGET http://8.142.144.75:5000/v2/_catalog
  • 将新镜像修改为符合私服库格式的镜像
1
2
3
docker tag 镜像:Tag Host:Port/Repository:Tag
#
docker tag ubuntu:1.6 8.142.144.75:5000/ubuntu:1.3
  • 修改配置文件使之支持http

    docker 默认不允许http方式推送镜像,通过此配置取消这个限制,若不生效,重启docker

    • 使用命令vim /etc/docker/daemon.json打开配置文件
    • 在阿里云加速后面新增一个json
    1
    2
    3
    4
    {
    "registry-mirrors": ["https://qp747t9w.mirror.aliyuncs.com"],
    "insecure-registries": ["8.142.144.75:5000"]
    }
    • 重启docker,重启docker私服仓库
  • push推送到私服库

1
docker push 符合私服库格式的镜像名称:tag
  • curl验证私服库上有什么镜像
  • pull到本地并运行
1
docker pull 8.142.144.75:5000/ubuntu:1.6