Docker 从入门到实践 0.4Dockerfile,并将 该路径下所有内容发送给 Docker 服务端,由服务端来创建镜像。因此一般建议放置 Dockerfile 的目录为空 目录。也可以通过 .dockerignore 文件(每一行添加一条匹配模式)来让 Docker 忽略路径下的目录和文 件。 要指定镜像的标签信息,可以通过 -t 选项,例如 $ sudo docker build -t myrepo/myapp /tmp/test1/ --dir 如果键是个空目录或者键值对则删除 --recursive 删除目录和所有子键 --with-value 检查现有的值是否匹配 --with-index '0' 检查现有的 index 是否匹配 如果给定的键不存在,则创建一个新的键值。例如 $ etcdctl mk /testdir/testkey "Hello world" Hello world0 码力 | 179 页 | 2.27 MB | 1 年前3
Docker 从入门到实践 0.9.0(2017-12-31)使用该选项。 默认情况,如果服务容器已经存在, docker-compose up 将会尝试停止容器,然后重新创建 (保持使用 volumes-from 挂载的卷),以保证新启动的服务匹配 docker-compose.yml 文件 的最新内容。如果用户不希望容器被停止并重新创建,可以使用 docker-compose up --no- recreate 。这样将只会启动处 命令中使 用 --no-cache=true 选项。 但是,如果你想在构建的过程中使用缓存,你得明白什么时候会,什么时候不会找到匹配的 镜像,遵循的基本规则如下: 从一个基础镜像开始( FROM 指令指定),下一条指令将和该基础镜像的所有子镜像进 行匹配,检查这些子镜像被创建时使用的指令是否和被检查的指令完全一样。如果不 是,则缓存失效。 在大多数情况下,只需要简单地对比 Dockerfile ,比如内 容和元数据,则缓存失效。 除了 ADD 和 COPY 指令,缓存匹配过程不会查看临时容器中的文件来决定缓存是否匹 配。例如,当执行完 RUN apt-get -y update 指令后,容器中一些文件被更新,但 Docker 不会检查这些文件。这种情况下,只有指令字符串本身被用来匹配缓存。 一旦缓存失效,所有后续的 Dockerfile 指令都将产生新的镜像,缓存不会被使用。0 码力 | 370 页 | 6.73 MB | 1 年前3
共 2 条
- 1













