美文网首页
docker commit && docker push

docker commit && docker push

作者: 兜里有颗糖儿 | 来源:发表于2018-07-04 18:01 被阅读0次

在一个docker容器中做出了修改,如果不进行保存的话,下次再进入的时候,所做的更改就会被抹掉。。。。这是一件很忧伤的事情。so........如何对于更改的容器进行保存呢?


docker commit & docker push 步骤:

  1. 查看所修改的容器的CONTAINER ID
$ docker ps -a    #显示所又的容器信息
$ docker ps -l     #显示最新运行的容器
  1. 使用docker commit 对于修改的容器进行保存
$ 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是一个tag name 会在hub的Tags那里显示。后面出现sha256:则表示commit成功。之后,可以使用docker images 来进行查看,发现此时多了一个新镜像。

[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新创建创建的容器
$ docker push 447146005/dcase2017_task2env_gpu:v3
上传成功提示
  1. 验证:

(1)刷新你的docker hub 账户,就会看到新push的镜像。

(2)$ docker inspect 447146005/dcase2017_task2env_gpu:v3
会出现有有关信息,表明push成功


踩过的雷

1.在docker push 的时候出现: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

原因:权限不够
解决方法:加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

出现原因:
(1)可能是没有登录docker hub 账户
——>解决方法:docker login 登录
(2)命名的方式不对,push的命名格式为:docker hub 用户名/镜像名
——>解决方法:
对于镜像重命名:$ docker tag IMAGE ID docker hub 用户名/镜像名
再次push,即可。


参考链接:
Docker 如何把镜像上传到docker hub
上传自己的镜像被拒绝denied

相关文章

网友评论

      本文标题:docker commit && docker push

      本文链接:https://www.haomeiwen.com/subject/cfkyuftx.html