我们可以通过docker push命令 把自己本地定制的镜像推送到Hub服务器,方便全球开发者使用,包括自己
例:将我们定制的tomcat发布到docker hub ,阿里云
关于怎么定制tomcat,可以参考
https://www.cnblogs.com/makalochen/p/14237490.html#提交运行时容器成为镜像
https://www.cnblogs.com/makalochen/p/14231134.html
这里我已经定制好了镜像,这个镜像对官方的tomcat进行了一些更改,就是将默认404改成了默认显示管理页
关于怎么更改tomcat的
https://www.cnblogs.com/makalochen/p/14239989.html
推送到docker hub
去docker hub注册
https://hub.docker.com/ 注册下 得到docker id和密码
服务器登录docker hub仓库
docker login
如下图表示登录成功
推送到docker hub仓库
推送
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push [OPTIONS] 本地镜像名[:TAG]
OPTIONS说明:
- --disable-content-trust :忽略镜像的校验,默认开启
例:
docker push makalochen/tomcat:1.0
push规范
注意push的镜像名要符合规范
用户名/仓库名:标签值(你可以将标签值理解为版本号,可以随意命名无任何影响,默认为lastest)
命名不规范解决办法
如果不符合规范就会推送不上去,例
上图就是用户名不一致,我在docker hub 上的用户名是makalochen
,
这时候可以用docker tag重新生成个镜像
docker tag : 标记本地镜像,将其归入某一仓库。
语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
例:
docker tag makalo/tomcat:1.0 makalochen/tomcat:1.0
这是再查看镜像列表就会发现多了个镜像
再次推送
docker push makalochen/tomcat:1.0
登录docker hub 检查
登陆 https://hub.docker.com/ 点击 Repositories 菜单
推送成功
推送到阿里云
很多时候,中小公司为了方便搭建私有仓库方便,直接使用稳定的阿里云镜像仓库,方便公司内部业务系统直接拉取镜像
登录阿里云
进入:https://cr.console.aliyun.com 阿里云镜像控制台 需要注册 用户名就是你的淘宝或者支付宝 账号名称 ,镜像控制台密码单独设置
创建命令空间
创建镜像仓库
创建完后列表就会有这个仓库
单击可以进去
进去之后根据提示进行即可
这里我们仓库什么也没有直接推送即可
推送到阿里云仓库
按照这个格式即可
#登录
$ sudo docker login --username=xxxx registry.cn-hangzhou.aliyuncs.com
#docker tag 标记本地镜像,将其归入某一仓库。
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/makalochen/tomcat:[镜像版本号]
#推送
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/makalochen/tomcat:[镜像版本号]
推送完成
到阿里云上看下
一切正常