Docker题外话

来源:互联网 发布:mysql 备份 自动 编辑:程序博客网 时间:2024/05/19 13:58

Docker题外话

 

因为你在测试容器的时候可能会出现容器过多不好找的情况,这种时候你需要删除容器.

删除所有容器:

docker rm $(docker ps -a -q)


删除一个容器:

docker rm 容器名字


删除所有镜像:

docker rmi $(docker images -q -a)


 

如果删除镜像的时候出现错误,可能是当前镜像正在运行,这个时候需要先使用docker kill 镜像名字杀死这个镜像.

 

如果想来个大扫除:

docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)


说实话,楼主不建议删除那些从官网上pull下来的镜像,因为你pull一个镜像不容易,这一点楼主是深有体会,你可以删除一下你自己的创建的镜像.

 

前面说过一个问题,在容器中很多的命令无法使用,一个大神告诉楼主的原因是啥,楼主先使用export命令把楼主的容器导出来发给大神,然后大神开始的分析,楼主不知道大神怎么分析的,大神说楼主的镜像可能有问题,可能是因为镜像是精简的,官方精简镜像的时候,先是装好一个基本系统,然后在基本系统里面直接删文件。。。

所以用apt-get install安装net-tools的时候,因为dpkg数据库里面认为net-tools包已经存在,就不在安装。实际上虽然net-tools包是存在的,但是里面文件已经被精简得一塌糊涂了。。。

所以解决方法就是,啥包被精简了,就用--reinstall重新装回去就行了.

root@e0a7f00db37d:/# apt-get install --reinstall iputils-ping  


这样就能装上ping,ping命令在iputils-ping里面,ip命令在iproute2里面,ifconfig命令在net-tools里面

那个名字找不到--reinstall那个.这样貌似可以了

 

大神还说了,用自己的镜像看看行不行,不一定非得用官方的镜像.

0 0
原创粉丝点击