设为首页 收藏本站
查看: 916|回复: 0

[经验分享] Docker常见问题总结(持续更新)

[复制链接]

尚未签到

发表于 2018-5-26 14:14:23 | 显示全部楼层 |阅读模式
  一、镜像相关问题

  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=&quot;:&quot;,之后重启Docker服务即可。">http://<PROXY_HOST>:<PROXY_PORT>&quot;,之后重启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]参数来调整容器使用内存的大小。

  好了,觉得有用的朋友可以转发或者收藏,大家有问题可以在下面留言一起探讨,有更好的建议也可以在评论区贴出来!!!
参考资料:《Docker技术入门与实战 第2版》

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481440-1-1.html 上篇帖子: Docker+Jenkins+GIT+Tomcat实战持续化集成 下篇帖子: 开始学习Docker啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表