Docker镜像推送(push)到Docker Hub的实现

时间:2021-08-15 11:57:11

镜像构建成功后,只要有docker环境就可以使用,但必须将镜像推送到docker hub上去。我们之前创建的镜像不符合docker hub的tag要求,因为 在docker hub注册的用户名是boonyadocker而不是boonya,所以需要docker tag进行修改,最后利用docker push命令推送镜像到公共仓库。

docker hub注册用户

到官网注册账号:https://hub.docker.com/

在本地linux登录docker:

?
1
docker login

输入用户名密码进行登录:

?
1
2
3
4
5
6
docker@default:~$ docker login
login with your docker id to push and pull images from docker hub. if you don't have a docker id, head over to https://hub.docker.com to create one.
username: boonyadocker
password:
login succeeded
docker@default:~$

tag修改镜像名称

推送镜像的规范是:

?
1
docker push 注册用户名/镜像名

tag命令修改为规范的镜像:

?
1
docker tag boonya/tomcat-allow-remote boonyadocker/tomcat-allow-remote

查看修改后的规范镜像:

?
1
2
3
4
5
6
7
8
9
10
11
12
docker@default:~$ docker images
repository             tag         image id      created       size
boonyadocker/tomcat-allow-remote  latest       6137f64875dd    7 hours ago     571mb
boonyadocker/tomcat-web      latest       09677d05b579    2 days ago     571mb
<none>               <none>       e1471ab1845a    3 days ago     188mb
<none>               <none>       cf240e31edfb    3 days ago     188mb
<none>               <none>       717961796ae2    3 days ago     334mb
apptomcat             1.0         249dc3f5dfb0    3 days ago     334mb
tomcat               8          a2fbbcebd67e    8 days ago     334mb
ubuntu               14.04        4a2820e686c4    2 weeks ago     188mb
wurstmeister/kafka         latest       12453f4efa7b    6 weeks ago     265mb
docker@default:~$

推送镜像到docker hub

通过push命令推送镜像:

?
1
docker push boonyadocker/tomcat-allow-remote:latest

Docker镜像推送(push)到Docker Hub的实现

注:推送docker hub速度很慢,耐心等待,很有可能失败,失败会尝试多次重传,之后断开推送(但已推送上去的会保留,保留时间不知道是多久)。

下面是上传完毕的输出(多次重传):

?
1
2
3
4
5
6
7
8
9
10
11
docker@default:~$ docker push boonyadocker/tomcat-allow-remote:latest
the push refers to a repository [docker.io/boonyadocker/tomcat-allow-remote]
464a44ea0195: layer already exists
29b57e33a4da: pushed
d649a240e453: layer already exists
d0757a6730d0: layer already exists
768dcfe5d05f: layer already exists
f5cfc06b640d: layer already exists
9669d6b73383: layer already exists
latest: digest: sha256:1e7562a15ef1728f213922d9633be67f3025447d0a641e333a8ec5107749c386 size: 11802
docker@default:~$

还是需要耐心,因为大文件比较耗时。

访问docker hub发布镜像

上传完成后访问:https://hub.docker.com/r/boonyadocker/tomcat-allow-remote/,如下图所示,大家都可以使用我发布的镜像了:

Docker镜像推送(push)到Docker Hub的实现

在docker hub上进行搜索,也是可以搜出来的:

Docker镜像推送(push)到Docker Hub的实现

至此我们已达到将自己的镜像发布到docker hub仓库。

docker 使用发布的镜像

搜索已发布的镜像:

?
1
2
3
4
docker@default:~$ docker search boonyadocker/tomcat-allow-remote
name                description                   stars   official  automated
boonyadocker/tomcat-allow-remote  in this tomcat image server you can use ma...  0         
docker@default:~$

因为我们已经发布自己的镜像,以后都可以直接使用docker pull命令拉取使用镜像:

?
1
docker pull boonyadocker/tomcat-allow-remote

Docker镜像推送(push)到Docker Hub的实现

注:镜像是基于tomcat8的远程管理角色权限,管理账号和密码是:tomcat/password。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/boonya/article/details/74906927