首页 > 代码库 > Docker初步实践遇到的一些问题

Docker初步实践遇到的一些问题

为什么删除不了有些Images

当你试图删除一个你不用的image的时候,有时候会告诉你有个container正在使用这个镜像,但是docker ps 并没有发现相关的container,这个是由于对container的exit理解不深造成的。

这里有两个不同的单词,images和container。其中images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态。docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。 如果你退出了一个container而忘记保存其中的数据,你可以使用docker ps -a来找到对应的运行过的container使用docker commit命令将其保存为image然后运行。

事实上你需要rm掉那个container才可以进行rmi的操作

docker ps -a
docker rm ${container_id}
docker rmi ${iamge_id}

在Ubuntu下使用docker 但是不想写sudo

原理还是将用户加入docker组
问题解决

挂起一个container

Ctrl+p, Ctrl+q

不小心exit但是数据没有保存

docker ps -a

检查所有的关掉的container

docker restart ${old_container_id}

Docker commit and docker push

commit是commit一个正在运行的container作为一个新的镜像
push是把整个repo都推上去,包括所有的tag
和git一样的

Docker初步实践遇到的一些问题