docker 将容器打包成镜像,并发布到DockerHub上

1、登录
docker login
2、假定你已经有一个处理好的容器,比如我这里的 lnmp

3、将处理好的容器打包成镜像
docker commit -a "haveyb haveyb@163.com" -m "LNMP环境" lnmp lnmp:1.1

-a : 说明作者信息

-m :和git类似,对本次提交的说明

后面跟一个容器名称

后面再跟一个 镜像名加上镜像名的标签(这个是本地的,现在还和dockerhub没关系)

4、给镜像打标签
docker tag lnmp:1.1 haveyb/lnmp:1.1

保持一致就好,后面的lnmp1.1将会和dockerhub上的镜像列表关联

5、将镜像推送到DockerHub
docker push haveyb/lnmp:1.1

这里的haveyb是告诉dockerhub推送到谁的列表里,lnmp是告诉dockerhub推送到哪个仓库里,1.1是告诉dockerhub,你这次推荐的版本是什么,如果不指定,则默认为latest

6、更新dockerhub上的latest标签的版本

因为dockerhub上的latest,并不会随着你的提交更新,而自动变过去,比如之前latest是1.0版本的,现在你提交了个1.1版本的,那么dockerhub上会多出一个1.1版本的,但latest仍然是1.0版本的

也就是说,latest标签并不会自动更新为最新版本的,这个需要开发者自己去掌控。

因此,我们开发完一个版本之后,把最新版的推过去之后,如果需要latest保持最新版本,需要执行下面命令:

docker tag haveyb/lnmp:1.1 haveyb/lnmp

docker push haveyb/lnmp

这样,我们就让dockerhub上的版本保持最新了