转载于:https://blog.csdn.net/boonya/article/details/74906927

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

Docker hub注册用户

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

在本地Linux登录docker:

[plain]  view plain  copy
  1. docker login  

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

[plain]  view plain  copy
  1. docker@default:~$ docker login  
  2. 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.  
  3. Username: boonyadocker  
  4. Password:   
  5. Login Succeeded  
  6. docker@default:~$   

tag修改镜像名称

推送镜像的规范是:

[plain]  view plain  copy
  1. docker push 注册用户名/镜像名  

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

[plain]  view plain  copy
  1. docker tag boonya/tomcat-allow-remote boonyadocker/tomcat-allow-remote  

查看修改后的规范镜像:

[plain]  view plain  copy
  1. docker@default:~$ docker images  
  2. REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE  
  3. boonyadocker/tomcat-allow-remote   latest              6137f64875dd        7 hours ago         571MB  
  4. boonyadocker/tomcat-web            latest              09677d05b579        2 days ago          571MB  
  5. <none>                             <none>              e1471ab1845a        3 days ago          188MB  
  6. <none>                             <none>              cf240e31edfb        3 days ago          188MB  
  7. <none>                             <none>              717961796ae2        3 days ago          334MB  
  8. apptomcat                          1.0                 249dc3f5dfb0        3 days ago          334MB  
  9. tomcat                             8                   a2fbbcebd67e        8 days ago          334MB  
  10. ubuntu                             14.04               4a2820e686c4        2 weeks ago         188MB  
  11. wurstmeister/kafka                 latest              12453f4efa7b        6 weeks ago         265MB  
  12. docker@default:~$   

推送镜像到Docker Hub

通过push命令推送镜像:

[plain]  view plain  copy
  1. docker push boonyadocker/tomcat-allow-remote:latest  

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

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

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

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

访问Docker Hub发布镜像

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


在Docker Hub上进行搜索,也是可以搜出来的:


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

Docker 使用发布的镜像

搜索已发布的镜像:

[plain]  view plain  copy
  1. docker@default:~$ docker search boonyadocker/tomcat-allow-remote  
  2. NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED  
  3. boonyadocker/tomcat-allow-remote   In this Tomcat image server you can use ma...   0                      
  4. docker@default:~$  

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

[plain]  view plain  copy
  1. docker pull boonyadocker/tomcat-allow-remote  


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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐