1.搭建私有库

docker pull registry

  1. kpsmile@kpsmile-PC:~$ docker run -d -p 5000:5000 --name="privateRegistry" -v /home/kpsmile/privateRegistry:/tmp/registry b8604a3fe854
  2. ee69b611ee57464283af619d23d7ae4d8c13693b0806ea89479a6decb3ce8b2c
  3. kpsmile@kpsmile-PC:~$ docker ps
  4. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  5. ee69b611ee57 b8604a3fe854 "/entrypoint.sh /etc…" 7 seconds ago Up 5 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp privateRegistry

需要在 /etc/docker/daemon.json添加 要暴露的端口

  1. {
  2. "registry-mirrors": ["https://XXXX.aliyun.com"], //设置镜像加速
  3. "insecure-registries": ["192.168.114.128:5000"] //设置私有仓库地址可以设为http
  4. }

2.构建镜像

(1)docker commit

使用docker commit 构建镜像

docker commit -a=”authorName” -m=”Image commit description” containerId imageName[:tag]

  1. kpsmile@kpsmile-PC:~$ docker commit -a="wm" -m="with ifconfig" 2dc0cfc8ac74 ubuntu-wm:1.0
  2. sha256:28fed4ac75fe35fbbb469ad5f6f8dfcc0fb6c6642f99f2f9b1d741b38192bcd5

(2)dockerfile

TODO

3.将镜像打签

docker tag old_version_image:tag new_version_image:tag

  1. kpsmile@kpsmile-PC:~$ docker tag ubuntu-wm:1.0 192.168.114.128:5000/ubuntu-wm:1.0
  2. kpsmile@kpsmile-PC:~$ docker images
  3. REPOSITORY TAG IMAGE ID CREATED SIZE
  4. ubuntu-wm 1.0 28fed4ac75fe 2 minutes ago 111MB
  5. 192.168.114.128:5000/ubuntu-wm 1.0 28fed4ac75fe 2 minutes ago 111MB
  6. wm/ubuntu 1.0 40e576052d3f 7 hours ago 111MB
  7. redis latest 7614ae9453d1 7 months ago 113MB
  8. registry latest b8604a3fe854 8 months ago 26.2MB
  9. ubuntu latest ba6acccedd29 9 months ago 72.8MB

4.将镜像推送

  1. kpsmile@kpsmile-PC:~$ docker push 192.168.114.128:5000/ubuntu-wm:1.0
  2. The push refers to repository [192.168.114.128:5000/ubuntu-wm]
  3. 64a5b3bb377f: Pushed
  4. 9f54eef41275: Mounted from wm/ubuntu
  5. 1.0: digest: sha256:5f2b7a66109495838cec59283a6935d340c383df0947e703dde24005856d0f1c size: 741