目录
2、运行私有库registry,相当于本地有个私有docker hub。
一、上次到阿里云服务器
1、制作一个带有vim功能的Ubuntu镜像
docker pull ubuntu
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ba6acccedd29 2 years ago 72.8MB
docker run -it ubuntu
root@8b9f2522faa0:/# apt-get update #先更新一下软件包列表
root@8b9f2522faa0:/# apt-get install vim -y
root@8b9f2522faa0:/# echo "hello world" > abc.tec #随便添加一点信息
root@8b9f2522faa0:/# cat abc.tec
hello world
按下Ctrl+p+q退出容器,容器不停止(如果直接使用exit,容器会停止运行,这样就不能制作镜像了)
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b9f2522faa0 ubuntu "bash" 5 minutes ago Up 5 minutes optimistic_wescoff
# docker commit -m="ubuntu add vim" -a="haha" 8b9f2522faa0 ubuntuvim:3.23
sha256:761b629328e8fb5ae1cd187d5a1b0c5f12107bcad6663b1cf8b89c93e5f5201a
# docker images #查看制作好的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntuvim 3.23 761b629328e8 56 seconds ago 191MB
2、在阿里云上面创建镜像仓库
3、从阿里云仓库中上传和拉取镜像
直接复制示例中的代码
# docker login --username=aliyun8035446320 registry.cn-hangzhou.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntuvim 3.23 761b629328e8 11 minutes ago 191MB
# docker tag 761b629328e8 registry.cn-hangzhou.aliyuncs.com/yoyo_chengdu/ubuntu:3.23
# docker push registry.cn-hangzhou.aliyuncs.com/yoyo_chengdu/ubuntu:3.23
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/yoyo_chengdu/ubuntu]
af91d09903b5: Pushed
9f54eef41275: Pushed
3.23: digest: sha256:f74cfb2e5ef2ad30cd14fb5da6dbbc6eae9870c4e973f181abff11cfc603f1de size: 741
# docker rmi -f 761b629328e8 #删除制作的镜像
# docker pull registry.cn-hangzhou.aliyuncs.com/yoyo_chengdu/ubuntu:3.23 #拉取镜像
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/yoyo_chengdu/ubuntu 3.23 761b629328e8 16 minutes ago 191MB
# docker run -it 761b629328e8
root@2fb3a6485a7f:/# cat abc.tec
hello world #查看信息是否还在
二、上传镜像到本地私有库registry
1、下载镜像docker registry
# docker pull registry
2、运行私有库registry,相当于本地有个私有docker hub。
docker run -d -p 5000:5000 -v /yoyo/myregistry/:/tmp/registry --privileged=true registry
3、制作一个带有ifconfig的Ubuntu镜像
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ba6acccedd29 2 years ago 72.8MB
#docker run -it ba6acccedd29
root@32e09b37ba40:/# apt-get update
root@32e09b37ba40:/# apt-get install net-tools -y
root@32e09b37ba40:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:acff:fe11:3 prefixlen 64 scopeid 0x20<link>
ether 02:42:ac:11:00:03 txqueuelen 0 (Ethernet)
RX packets 8745 bytes 31390066 (31.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4426 bytes 243881 (243.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
再使用快捷键 Ctrl+p+q退出,容器继续在后台运行。
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
32e09b37ba40 ba6acccedd29 "bash" 7 minutes ago Up 7 minutes
# docker commit -m="ifconfig cmd add" -a="yoyo" 32e09b37ba40 ifubuntu:3.24
sha256:f53ed00a420725a04c8ba4314c8cf839e640d79df898b4539d60c442d59a6975
4、curl验证私有仓库有什么镜像
# curl -XGET http://192.168.80.172:5000/v2/_catalog
{"repositories":[]}
5、将镜像修改符合私有库规范的tag
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ifubuntu 3.24 f53ed00a4207 2 minutes ago 124MB
# docker tag ifubuntu:3.24 192.168.80.172:5000/ifubuntu:3.24
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.80.172:5000/ifubuntu 3.24 f53ed00a4207 3 minutes ago 124MB
6、修改配置文件使之支持http
# vim /etc/docker/daemon.json
, "insecure-registries":["192.168.80.172:5000"] #重点逗号
#重启docker
7、push推送到私服库
# docker run -d -p 5000:5000 -v /yoyo/myregistry/:/tmp/registry --privileged=true registry
7cc7789c511f09f713993ee11e22dbb79a08ef00f1138f124610d2a19b4c221c
#重新启用私服库
# docker push 192.168.80.172:5000/ifubuntu:3.24
The push refers to repository [192.168.80.172:5000/ifubuntu]
cc42a815d1b0: Pushed
9f54eef41275: Pushed
3.24: digest: sha256:c58ea58f4c35f4ea8bd139bd5a9b3bdc8cc9a497abf581d2e50847ea419eb8b6 size: 741
8、再次curl验证私服库有什么镜像
# curl -XGET http://192.168.80.172:5000/v2/_catalog
{"repositories":["ifubuntu"]}
9、pull到本地并运行
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ifubuntu 3.24 f53ed00a4207 12 minutes ago 124MB
192.168.80.172:5000/ifubuntu 3.24 f53ed00a4207 12 minutes ago 124MB
# docker rmi -f f53ed00a4207 f53ed00a4207
# docker pull 192.168.80.172:5000/ifubuntu:3.24
3.24: Pulling from ifubuntu
7b1a6ab2e44d: Already exists
7565baf88cb5: Pull complete
Digest: sha256:c58ea58f4c35f4ea8bd139bd5a9b3bdc8cc9a497abf581d2e50847ea419eb8b6
Status: Downloaded newer image for 192.168.80.172:5000/ifubuntu:3.24
192.168.80.172:5000/ifubuntu:3.24
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.80.172:5000/ifubuntu 3.24 f53ed00a4207 16 minutes ago 124MB
#运行刚刚拉取的镜像查看是否带有ifconfig命令
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.80.172:5000/ifubuntu 3.24 f53ed00a4207 16 minutes ago 124MB
registry latest b8604a3fe854 2 years ago 26.2MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
# docker run -it f53ed00a4207
root@eaed85410974:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255