docker用了之后,几乎不会再想用实机配置开发环境了,实在是香。
注册docker hub并添加仓库
这一步比较简单,直接在Docker Hub里面注册即可,然后点击下面这个按钮添加仓库
起好仓库名字后,一般是用户名/仓库名记住这个名字,后面会用到。
打包docker容器为docker镜像
仓库接受的是docker镜像,所以我们是不能直接把docker容器推送到docker hub的,必须先打包为images。
docker commit -a="yourname" -m="your describe" XXXX 用户名/仓库名:latest
其中XXX表示容器ID,用户名/仓库名就是你新建的那个仓库名字,latest不用管。
这里注意,最后的参数如果你写成 xxx:1.0这样,也是可以打包成镜像的,这参数只表示了镜像名字,我这样命名的原因是方便上传docker hub,如果你只是打包镜像,这个参数是无所谓的。
最终,打包成这个样子,图上5.96GB那个镜像就是我打包的开发环境。
命名错误怎么办?
如果你没有按照标准命名,也没有关系,只要用tag命令更改一下就好了。
docker tag 原来的名称 用户名/仓库名
TAG会自动成为latest,这样就可以上传到docker hub了,不用去重新打包。
登录docker hub
输入命令
sudo sudocker login
然后按照提示输入用户名和密码,注意,这里只能用用户名登录,不能用邮箱。
提示success就是成功,如果密码错误,他会提示你重新输入。
WARNING的意思是说你的账户密码存在了/root/.docker/config.json里,这个文件是加密的,不用管它。
上传镜像
这一步很简单了,一个命令搞定。
docker push 用户名/仓库名(镜像名):latest
这里的 用户名/仓库名 和 镜像名 是一样的,这说明你的镜像在hub里面有对应的仓库,请确认仓库存在,否则是无法上传的。
注:推送Docker Hub速度很慢,耐心等待,很有可能失败,失败会尝试多次重传,之后断开推送(但已推送上去的会保留,保留时间不知道是多久)。
还是很智能的,已经存在的镜像他不会上传,而是只上传你修改了的部分,所以我这个地方只需要上传2.7GB。
访问docker镜像
这时候在你的docker仓库中,就能看到上传好的镜像了。