在一個(gè)docker容器中做出了修改,如果不進(jìn)行保存的話,下次再進(jìn)入的時(shí)候,所做的更改就會(huì)被抹掉。。。。這是一件很憂傷的事情。so........如何對(duì)于更改的容器進(jìn)行保存呢?
docker commit & docker push 步驟:
- 查看所修改的容器的CONTAINER ID
$ docker ps -a #顯示所又的容器信息
$ docker ps -l #顯示最新運(yùn)行的容器
- 使用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
- 向docker hub 賬戶push新創(chuàng)建創(chuàng)建的容器
$ docker push 447146005/dcase2017_task2env_gpu:v3
- 驗(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,即可。