Docker 使用中的问题记录

之前对docker的使用做了基本的模拟,现对遇到的问题做个记录。

  1. systemctl 无法使用
    环境:Docker version 1.11.2、Centos7.2.1511
    报错:Failed to get D-Bus connection: Operation not permitted
    网上说安装systemd-sysv 就能解决,but 在我这里没有解决这个问题。
    当前只能另写脚本来管理服务的启动。

  2. 两个镜像的合并问题
    假如:
    镜像A内有 tomcat(apr)、nginx
    镜像B内有 mariadb
    能不能得到一个镜像C内有:tomcat(apr)、nginx、mariadb呢?
    当前答案:不可以。
    如要得到镜像C,可以通过dockerfile将tomcat(apr)、nginx、mariadb安装的脚本,重新编译一个镜像C。
    在单一环境中:重新编译dockerfile 和 在镜像A中再装mariadb是差不多,如已经知道该怎么安装,就只剩下执行的事情,和用dockerfile编译 也无多大差别。
    这里就有一个疑问:dockerfile的优势是什么?
    优势1:将所需如端口映射、挂载目录等设置好,等镜像创建后再启动容器时 不用带那么多的参数。
    优势2:使用dockerfile快速在其他地方创建新镜像,不用导入和导出
    优势3:想要添加新应用到镜像中时不用再运行容器,在容器中去操作,提交容器为新镜像,而是直接改脚本-再编译,从步骤上来讲简化

  3. 旧镜像的处理
    每次改动容器后,如果不保存成镜像,改动的内容就会丢失。而每次保存为新的镜像,那么镜像就会越来越多。
    10个镜像完全可控,20个镜像大概能记得里面有什么,如果有100个镜像呢?-搞不好 就是个祸害呀。
    重要的事情说三遍:要有镜像管理,要有镜像管理,要有镜像管理,针对实际情况-理管理规则
    比如:镜像的命名、镜像的删除规则、镜像内容纪录

  4. docker 访问不到宿主机 同网段的服务器
    起因:ipv4 被禁用啦
    sysctl -w net.ipv4.ip_forward=1

/etc/sysctl.conf中加入 net.ipv4.ip_forward=1
sysctl -p

    原文作者:灼灼2015
    原文地址: https://www.jianshu.com/p/fbf51ded20ea
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞