【One by one系列】一步步学习docker(三)——推送镜像至阿里云
1. 登錄阿里云Docker Registry
sudo docker login --username=xx@qq.com registry.cn-hangzhou.aliyuncs.com
2.將鏡像推送到Registry
$ sudo docker login --username=xx@qq.com registry.cn-hangzhou.aliyuncs.com
# 命令: sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:[鏡像版本號(hào)]
$ sudo docker tag f1eed31931c4 registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
# 命令: sudo docker push registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:[鏡像版本號(hào)]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
3.拉取
驗(yàn)證已push的阿里云docker image-先刪除已有的鏡像-再拉取鏡像-再創(chuàng)建容器
刪除鏡像:docker rmi f1eed31931c4
Error response from daemon: conflict: unable to delete f1eed31931c4 (must be forced) - image is referenced in multiple repositories
查看鏡像:docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mywebapi latest f1eed31931c4 26 hours ago 208MB
registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi 1.0 f1eed31931c4 26 hours ago 208MB
node latest 07e774543bdf 6 days ago 939MB
golang latest 6586e3d10e96 11 days ago 803MB
nginx latest 2073e0bcb60e 11 days ago 127MB
mcr.microsoft.com/dotnet/core/aspnet 3.1 e28362768eed 11 days ago 207MB
mysql latest 791b6e40940c 11 days ago 465MB
centos latest 470671670cac 3 weeks ago 237MB
hello-world latest fce289e99eb9 13 months ago 1.84kB
對(duì)于被刪除的ImageID,這里存在多個(gè)REPOSITORY名字引用
即刪除時(shí)指定名稱,而不是IMAGE ID。
然后再刪除IMAGE ID就可以了
[root@MiWiFi-R2100-srv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mywebapi latest f1eed31931c4 26 hours ago 208MB
registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi 1.0 f1eed31931c4 26 hours ago 208MB
node latest 07e774543bdf 6 days ago 939MB
golang latest 6586e3d10e96 11 days ago 803MB
nginx latest 2073e0bcb60e 11 days ago 127MB
mcr.microsoft.com/dotnet/core/aspnet 3.1 e28362768eed 11 days ago 207MB
mysql latest 791b6e40940c 11 days ago 465MB
centos latest 470671670cac 3 weeks ago 237MB
hello-world latest fce289e99eb9 13 months ago 1.84kB
[root@MiWiFi-R2100-srv ~]# docker rmi mywebapi
Untagged: mywebapi:latest
[root@MiWiFi-R2100-srv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi 1.0 f1eed31931c4 26 hours ago 208MB
node latest 07e774543bdf 6 days ago 939MB
golang latest 6586e3d10e96 11 days ago 803MB
nginx latest 2073e0bcb60e 11 days ago 127MB
mcr.microsoft.com/dotnet/core/aspnet 3.1 e28362768eed 11 days ago 207MB
mysql latest 791b6e40940c 11 days ago 465MB
centos latest 470671670cac 3 weeks ago 237MB
hello-world latest fce289e99eb9 13 months ago 1.84kB
[root@MiWiFi-R2100-srv ~]# docker rmi f1eed31931c4
Untagged: registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
Untagged: registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi@sha256:bbe9a94bc16e0336f24fac8a26e031687454434caf37cfd7773e433f3dc8cf04
Deleted: sha256:f1eed31931c406b632f75cb11526e45d22cddea3c29b70043c0a5ee2a0feb0c5
Deleted: sha256:98d4eec18e372143c997a37114169ec6d250ba212758fbc2f6948aaf3d0c392d
Deleted: sha256:a8a248621e4110edd327a316133bc475472e065a67e7ba92ffa0c76ba0b95867
Deleted: sha256:2b19bfb7451dde52d5427e88ca9d24c268a685af34f2d855fdba9bc48c82cd74
Deleted: sha256:badd3be10903a86fbbecada82fd1d0a6e11ab07d040d47a80d82f3aead47cffa
Deleted: sha256:4fbb352ef5d9cf37d2b0f2b12ad1ad950831cd4c025e8f5ec9085b0dbd2926d0
Deleted: sha256:f6e579c411e1fe59b1560d60687da9f3c0b6eae12ac0aea5cdc27130a1ce8a90
[root@MiWiFi-R2100-srv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
node latest 07e774543bdf 6 days ago 939MB
golang latest 6586e3d10e96 11 days ago 803MB
nginx latest 2073e0bcb60e 11 days ago 127MB
mcr.microsoft.com/dotnet/core/aspnet 3.1 e28362768eed 11 days ago 207MB
mysql latest 791b6e40940c 11 days ago 465MB
centos latest 470671670cac 3 weeks ago 237MB
hello-world latest fce289e99eb9 13 months ago 1.84kB
拉取:sudo docker pull registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
[root@MiWiFi-R2100-srv ~]# sudo docker pull registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
1.0: Pulling from randyfield/mywebapi
bc51dd8edc1b: Already exists
6848f14cfbf7: Already exists
01ae9269f21a: Already exists
e5a46ebecd63: Already exists
8425bc024e3a: Already exists
a52e6ca2844b: Pull complete
Digest: sha256:bbe9a94bc16e0336f24fac8a26e031687454434caf37cfd7773e433f3dc8cf04
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
4.創(chuàng)建容器
docker run --name ali-mywebapi -d -p 81:5000 f1eed31931c4
[root@MiWiFi-R2100-srv ~]# docker run --name ali-mywebapi -d -p 81:5000 registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi
Unable to find image 'registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:latest' locally
docker: Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:latest not found: manifest unknown: manifest unknown.
See 'docker run --help'.
[root@MiWiFi-R2100-srv ~]# docker rm -f ali-mywebapi
Error: No such container: ali-mywebapi
[root@MiWiFi-R2100-srv ~]# docker run --name ali-mywebapi -d -p 81:5000 registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi
Unable to find image 'registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:latest' locally
docker: Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:latest not found: manifest unknown: manifest unknown.
See 'docker run --help'.
[root@MiWiFi-R2100-srv ~]# docker run --name ali-mywebapi -d -p 81:5000 f1eed31931c4
7ac0461905065b32acbda35c72f88fc28dccb1760837282565846b8b0ef62b7b
[root@MiWiFi-R2100-srv ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ac046190506 f1eed31931c4 "dotnet docker-aspne…" 11 seconds ago Up 10 seconds 0.0.0.0:81->5000/tcp ali-mywebapi
[root@MiWiFi-R2100-srv ~]#
綜上,為什么docker run --name ali-mywebapi -d -p 81:5000 registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi,daemon,會(huì)提示,Unable to find image 'registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:latest' locally docker: Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:latest not found: manifest unknown: manifest unknown. See 'docker run --help'.原來是因?yàn)槊钪袥]有指定tag,我們?cè)趐ush時(shí),是有指定tag的。
docker run --name ali-mywebapi -d -p 81:5000 registry.cn-hangzhou.aliyuncs.com/randyfield/mywebapi:1.0
5.想象
打開阿里云的倉(cāng)庫(kù)
鏡像就80M,想象一下,如果我把發(fā)布的應(yīng)用做成鏡像,然后部署 docker pull,docker run,是不是很方便?
總結(jié)
以上是生活随笔為你收集整理的【One by one系列】一步步学习docker(三)——推送镜像至阿里云的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于bootstrap的模态框的comf
- 下一篇: 前端_json格式转换