Dockerfile add shell label

Signed-off-by: Kang Huaishuai <khs1994@khs1994.com>
This commit is contained in:
Kang Huaishuai
2020-09-06 20:16:04 +08:00
parent 5d91c5a39f
commit cbaa24c48f
6 changed files with 131 additions and 0 deletions

View File

@@ -16,3 +16,21 @@ RUN echo "hello" > world.txt
之前说过每一个 `RUN` 都是启动一个容器执行命令然后提交存储层文件变更第一层 `RUN cd /app` 的执行仅仅是当前进程的工作目录变更一个内存上的变化而已其结果不会造成任何文件变更而到第二层的时候启动的是一个全新的容器跟第一层的容器更完全没关系自然不可能继承前一层构建过程中的内存变化
因此如果需要改变以后各层的工作目录的位置那么应该使用 `WORKDIR` 指令
```docker
WORKDIR /app
RUN echo "hello" > world.txt
```
如果你的 `WORKDIR` 指令使用的相对路径那么所切换的路径与之前的 `WORKDIR` 有关
```docker
WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd
```
`pwd` 输出的结果为 `/a/b/c`