我們可以通過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:[鏡像版本號]
推送完成
到阿里雲上看下
一切正常