在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用。
删除镜像失败一例分享
- [root@docker-test1 ~]# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- [root@docker-test1 ~]# docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
-
- 打算删除掉docker的nginx镜像, 但是发现这个镜像就是删除不了,加了-f强制删除也不行,一直报Error: No such image的错误,
- 最后终于找到了办法直接删除文件!
-
- [root@docker-test1 ~]# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- nginx latest 62f816a209e6 7 days ago 109MB
-
- [root@docker-test1 ~]# docker rmi nginx
- Error: No such image: nginx
-
- [root@docker-test1 ~]# docker rmi 62f816a209e6
- Error: No such image: 62f816a209e6
-
- [root@docker-test1 ~]# docker rmi 62f816a209e6 -f
- Error: No such image: 62f816a209e6
-
- 如上,怎么都删除不掉nginx镜像!!!!!
-
- 处理办法:
- [root@docker-test1 ~]# systemctl stop docker
- [root@docker-test1 ~]# rm -rf /var/lib/docker
- rm: cannot remove ‘/var/lib/docker/containers': Device or resource busy
-
- 删除不了的原因是: 在建立容器的时候做了相应目录的挂载,没有卸载,所以Device or resource busy
-
- 解决办法: 查找挂载的目录并卸载
- [root@docker-test1 ~]# cat /proc/mounts | grep "docker"
- /dev/mapper/centos-root /var/lib/docker/containers xfs rw,relatime,attr2,inode64,noquota 0 0
- proc /run/docker/netns/default proc rw,nosuid,nodev,noexec,relatime 0 0
- proc /run/docker/netns/a0626c54fd03 proc rw,nosuid,nodev,noexec,relatime 0 0
- proc /run/docker/netns/b18072de4224 proc rw,nosuid,nodev,noexec,relatime 0 0
- proc /run/docker/netns/b5298f643455 proc rw,nosuid,nodev,noexec,relatime 0 0
- proc /run/docker/netns/9f5e97637c98 proc rw,nosuid,nodev,noexec,relatime 0 0
-
- [root@docker-test1 ~]# umount /var/lib/docker/containers
- [root@docker-test1 ~]# rm -rf /var/lib/docker
-
- [root@docker-test1 ~]# systemctl start docker
-
- 再次查看就没有这个镜像了
- [root@docker-test1 ~]# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
以上就是通过容器提交镜像DockerCommit及推送镜像DockerPush的详细内容,更多关于容器提交及推送镜像的资料请关注w3xue其它相关文章!