docker commit && docker push

在一個(gè)docker容器中做出了修改,如果不進(jìn)行保存的話,下次再進(jìn)入的時(shí)候,所做的更改就會(huì)被抹掉。。。。這是一件很憂傷的事情。so........如何對(duì)于更改的容器進(jìn)行保存呢?


docker commit & docker push 步驟:

  1. 查看所修改的容器的CONTAINER ID
$ docker ps -a    #顯示所又的容器信息
$ docker ps -l     #顯示最新運(yùn)行的容器
  1. 使用docker commit 對(duì)于修改的容器進(jìn)行保存
$ docker commit  CONTAINER ID docker_hub用戶名/鏡像名
-------------------例如-----------------------
[115 ]$ sudo docker commit 37853c88bd7d 447146005/dcase2017_task2env_gpu:v3
sha256:69d10999af8157dd6e22d4f3ee2d0e231a89bde53f9578ae6148581fbbdd2197

其中,37853c88bd7d為CONTAINER ID;447146005為docker hub 上的用戶名;dcase2017_task2env_gpu為鏡像名;v1是一個(gè)tag name 會(huì)在hub的Tags那里顯示。后面出現(xiàn)sha256:則表示commit成功。之后,可以使用docker images 來進(jìn)行查看,發(fā)現(xiàn)此時(shí)多了一個(gè)新鏡像。

[115 ]$ sudo docker images

REPOSITORY                           TAG      IMAGE ID           CREATED            SIZE

447146005/dcase2017_task2env_gpu     v3     69d10999af81        12 minutes ago     6.35GB
  1. 向docker hub 賬戶push新創(chuàng)建創(chuàng)建的容器
$ docker push 447146005/dcase2017_task2env_gpu:v3
上傳成功提示
  1. 驗(yàn)證:

(1)刷新你的docker hub 賬戶,就會(huì)看到新push的鏡像。

(2)$ docker inspect 447146005/dcase2017_task2env_gpu:v3
會(huì)出現(xiàn)有有關(guān)信息,表明push成功


踩過的雷

1.在docker push 的時(shí)候出現(xiàn):connect: permission denied

Warning: failed to get default registry endpoint from daemon (Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/info: dial unix /var/run/docker.sock: connect: permission denied). Using system default: https://index.docker.io/v1/

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.37/images/447146005/dcase2017_task2env_gpu/push?tag=v3: dial unix /var/run/docker.sock: connect: permission denied

原因:權(quán)限不夠
解決方法:加sudo
$ sudo docker push 447146005/dcase2017_task2env_gpu:v3
2.denied: requested access to the resource is denied

[115 ]$ sudo docker push 447146005/dcase2017_task2env_gpu:v3

[sudo] 115 的密碼:
The push refers to repository [docker.io/447146005/dcase2017_task2env_gpu]
daa4016d25ab: Waiting

。。。。中間省略好多行。。。。。

d7ff1dc646ba: Waiting
644879075e24: Waiting
denied: requested access to the resource is denied

出現(xiàn)原因:
(1)可能是沒有登錄docker hub 賬戶
——>解決方法:docker login 登錄
(2)命名的方式不對(duì),push的命名格式為:docker hub 用戶名/鏡像名
——>解決方法:
對(duì)于鏡像重命名:$ docker tag IMAGE ID docker hub 用戶名/鏡像名
再次push,即可。


參考鏈接:
Docker 如何把鏡像上傳到docker hub
上傳自己的鏡像被拒絕denied

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容