使用Dockerfile构建的容器, 无法看到非root用户运行程序的PID,如下图所示:

image.png

百度上说是netstat的bug,看起来却像是权限问题,最后Google找到了,docker为了容器的安全,容器中的root权限有限制,与宿主机上root权限是不一样的,启动容器加上--cap-add=SYS_PTRACE,即可看到PID,官网上也有相关解释。

Runtime privilege and Lin...

Continue reading >>

1.Dockerfile生产实践

  •  分层设计

    根据Docker的分层理念及公司业务环境,生产中使用分层设计Dockerfile并使用git来管理,可以大大提高应用部署效率,同时可以使用docker-compose来编排启动容器,swarm管理规模不大的docker集群,有条件的公司也可使用k8s、mesos来管理。

QQ截图20170312171850.jpg

          &nb...

Continue reading >>

1.Docker分层管理概念

Dokcer镜像采用分层来管理(以下图为例):

  • 最下层是操作系统kernel层

  • 第二层是只读的镜像层

  • 通过第二层只读的镜像层启动了一个可读写的容器,对容器的所有操作都只会在这个可写层

  • 如果想让可写层永久生效,就需要提交成一个镜像。如你在容器里安装apache,想让它永久生效,你只需将其提交成镜像及可

  • 用封装了apache的镜像启动一个容器,第五层就又是一个可写层,如果你之前下载的...

Continue reading >>

1.Docker容器默认通信模式

Dokcer默认通过使用 Linux 桥接提供容器之间的通信,docker0 桥接接口的目的就是方便 Docker 管理。当 Docker daemon 启动时需要做以下操作:

  • creates the docker0 bridge if not present

  • # 如果 docker0 不存在则创建

  • searches for an IP address range whi...

  • Continue reading >>