gpt4 book ai didi

docker - Dockerfile的 “/app”工作目录是什么?

转载 作者:行者123 更新时间:2023-12-02 17:13:47 27 4
gpt4 key购买 nike

docker docs getting started tutorial part 2中,有一个生成Dockerfile。它指示添加以下行:

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY . /app

什么是/ app,为什么这是必要步骤?

最佳答案

WORKDIR是一个好习惯,因为您可以将目录设置为主目录,然后可以使用COPY,ENTRYPOINT,CMD命令对其进行处理,因为它们将执行指向此PATH的操作。

Docker文档: https://docs.docker.com/engine/reference/builder/
WORKDIR指令为Dockerfile中跟在其后的所有RUN,CMD,ENTRYPOINT,COPY和ADD指令设置工作目录。如果WORKDIR不存在,即使以后的Dockerfile指令中未使用它也将被创建。
WORKDIR指令可在Dockerfile中多次使用。如果提供了相对路径,则它将相对于上一个WORKDIR指令的路径。

Dockerfile示例:

FROM node:alpine
WORKDIR '/app'
COPY ./package.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "start"]

创建了一个 Alpine 的node.js,其工作目录为/ app,然后将所有文件复制到/ app

最后,npm run start命令正在容器内的/ app文件夹中运行。

如果您拥有sh或bash tty,则应执行以下命令:
docker exec -it <container-id> sh
要么
docker exec -it <container-id> bash
之后,您可以执行 ls命令,您将看到WORKDIR文件夹。

希望对您有帮助

关于docker - Dockerfile的 “/app”工作目录是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55108649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com