Docker 从入门到实践 0.9.0(2017-12-31)(已满):571502246 QQ 群 X (已满):145983035 如果你有关于 Docker 的问题,请通过 Issues 来提出你的问题。 进阶学习 《Docker 技术入门与实战》第二版已经正式出版,针对初版进行内容升级,欢迎大家阅读使 用并反馈建议。 京东图书 前言 8 China-Pub 鼓励项目 欢迎鼓励项目一杯 coffee~ 前言 9 主要修订记录 之前说过每一个 RUN 都是启动一个容器、执行命令、然后提交存储层文件变更。第一层 RUN cd /app 的执行仅仅是当前进程的工作目录变更,一个内存上的变化而已,其结果不会造成任 何文件变更。而到第二层的时候,启动的是一个全新的容器,跟第一层的容器更完全没关 系,自然不可能继承前一层构建过程中的内存变化。 因此如果需要改变以后各层的工作目录的位置,那么应该使用 WORKDIR 指令。 WORKDIR "start" ] 把这个 Dockerfile 放到 Node.js 项目的根目录,构建好镜像后,就可以直接拿来启动容器运 行。但是如果我们还有第二个 Node.js 项目也差不多呢?好吧,那就再把这个 Dockerfile 复 制到第二个项目里。那如果有第三个项目呢?再复制么?文件的副本越多,版本控制就越困 难,让我们继续看这样的场景维护的问题。 如果第一个 Node.js 项目在开发过程中,发现这个0 码力 | 370 页 | 6.73 MB | 1 年前3
Docker 从入门到实践 0.4/etc/hosts 172.17.0.7 aed84ee21bde . . . 172.17.0.5 db 这里有 2 个 hosts,第一个是 web 容器,web 容器用 id 作为他的主机名,第二个是 db 容器的 ip 和主机 名。 可以在 web 容器中安装 ping 命令来测试跟db容器的连通。 root@aed84ee21bde:/opt/webapp# apt-get install /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND" 配置文件包含目录和进程,第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。第二段包含要 控制的 2 个服务。每一段包含一个服务的目录和启动这个服务的命令。 创建镜像。 $ sudo docker build -t test/supervisord . 启动 supervisor ["executable", "param1", "param2"] 。 前者将在 shell 终端中运行命令,即 /bin/sh -c ;后者则使用 exec 执行。指定使用其它终端可以通过 第二种方式实现,例如 RUN ["/bin/bash", "-c", "echo hello"] 。 每条 RUN 指令将在当前镜像基础上执行指定命令,并提交为新的镜像。当命令较长时可以使用 \0 码力 | 179 页 | 2.27 MB | 1 年前3
共 2 条
- 1













