Docker常见问题总结(持续更新)

一、镜像相关问题

1、如何批量清理临时镜像文件?

    #docker rmi $(DOCKER IMAGES  -qf dangling=true)


2、如何查看镜像支持的环境变量?

    #docker run IMAGE env


3、本地的镜像文件都存放在哪里?

    与Docker相关的本地资源都存放在/var/lib/docker/目录直,以aufs文件系统为例,其中container目录存放容器信息,graph目录存放镜像信息,aufs目录下存放具体的镜像层文件。


4、构建Docker像应该遵循哪些原则?

    整体原则上,尽量保持镜像功能的明确和内容的精简,要点包括:

  • 尽量选取满足需求但较小的基础系统镜像,例如大部分时候可以选择debian:wheezy或debian:jessie镜像,仅有不足百兆大小;

  • 清理编译生成文件、安装包的缓存等临时文件;

  • 安装各个软件时候指定准确的版本号,并避免引入不需要的依赖;

  • 从安全角度考虑,应用要尽量使用系统的库和依赖;

  • 如果安装应用时候需要配置一些特殊的环境变量,在安装后要还原不需要保持的变量值;

  • 使用Dockerfile创建镜像时候要添加.dockerignore文件或使用干净的工作目录。


5、碰到网络问题,无法pull镜像,命令行指定http_proxy无效,怎么办?

    在Docker配置文件中添加export http_proxy="http://<PROXY_HOST>:<PROXY_PORT>",之后重启Docker服务即可。


二、容器相关问题

1、容器退出后,通过docker ps命令查看不到,数据会丢失么?

    容器退出后会处于终止(exited)状态,此时可以能过docker ps -a 命令查看。其中的数据也不会丢失,还可以通过docker start命令来启动它。只有删除掉容器才会清除所有数据。


2、如何停止所有正地运行的容器?

    docker kill $(docker ps -q)


3、如何清理批量后台停止的容器?

    docker rm -f $(docker ps -qa)


4、如何获取某个容器的PID信息?

    docker  inspect  --format '{{ .State.Pid }}' <CONTANINERID or NAME>


5、如何获取某个容器的IP地址?

    dpcler   inspect  --format  '{{ >NetworkSettings.IPAddress }}'  <CONTANINERID or NAME>


6、如何给容器指定一个固定IP地址,而不是每次重启容器IP地址都会变?

    目前Docker并没有提供直接的对容器IP地址的管理支持,可以在网上查找容器网络配置创建点对点连接的案例,来手动配置容器的静态IP。或者在容器启动后,再手动进行修改。


7、如何临时退出一个正在交互的容器的终端,而不终止它?

    按Ctrl-p Ctrl-q。如果按Ctil-c往往会让容器内应用进程终止,进而会终止容器。


8、使用docker port 命令映射容器的时,系统报错“Error: No Public port  '80' published for xxx” ,怎么办?

    创建镜像时Dockerifle要通过EXPOSE命令指定正确的开放端口;容器启动时指定PublishAllPort=true。


9、可以在一个容器中同进运行多个应用进程么?

    一般并不推荐在同一个容器内运行多个应用进程。如果有需求,可以通过一些额外的进程管理机制,比如supervisord来管理所运行的进程。可以参考https://docs.docker.com/articles/using_supervisord/


10、如何控制容器占用系统资源(CPU MEM)的份额?

    在使用docker create命令创建容器或使用docker run创建并启动容器的时候,可以使用-c | --cpu-shares[=0] 参数来调整容器使用CPU的权重;使用 -m | --memory[=MEMORY]参数来调整容器使用内存的大小。


好了,觉得有用的朋友可以转发或者收藏,大家有问题可以在下面留言一起探讨,有更好的建议也可以在评论区贴出来!!!



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/2052074,如需转载请自行联系原作者

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值