问题:
前面我们可以创建自己的docker镜像了,现在我想远程也可以使用此镜像
解决办法:
1. 注册dockerhub
地址: https://hub.docker.com/
注册过程不再描述,注册好后,都有一个用户名,我注册的账户名是jackerb
2. 重新生成镜像
在第六章 六、将应用使用docker来部署 中我build时,给镜像起名为xx/demo,
但是我注册dockerhub时,账户名是jackerb,因此我需要重新生成一个jackerb的镜像,指定版本1.0.0
sudo docker build -t jackerb/demo:1.0.0 .
3. shell登录dockerhub
在shell上执行命令:
sudo docker login
输入dockerhub的用户名和密码后,即可出现成功登录信息
4. 推送镜像到dockerhub
执行如下命令:
sudo docker push jackerb/demo:1.0.0
这样就可以将镜像推送到dockerhub,并且打上了版本号1.0.0
关于版本号有一点需要注意,我们一般在下载docker镜像时,如果指定了版本号,就下载对应的版本号的镜像;
如果未指定版本号,就会下载latest版本。
这里的latest版本很会让人迷惑,其实这个latest跟打上的其它1.0.0这种版本号没有什么区别,它也只是一个版本而已
如果我们在push时,没有指定版本号,那么dockerhub就自动给加上latest了。当然我们在push也可以自己将它指定为latest
需要注意的是,如果你的镜像没有latest版本,那么在下载镜像时必须指定对应的版本号,
默认不加版本号就会拉取latest,但你没有这个版本号将找不到镜像
说这么多就是想,latest对于版本号来说没有什么特殊的
因此,我可以这样来创建:
sudo docker build -t jackerb/demo:1.0.0 .
sudo docker tag jackerb/demo:1.0.0 jackerb/demo:latest
sudo docker push jackerb/demo
在创建1.0.0版本会,通过tag命令弄出一个latest版本
然后直接不指定版本push,就会将两个版本都推送上去