📜  Docker – ARG指令

📅  最后修改于: 2021-04-16 08:33:33             🧑  作者: Mango

您可以在Dockerfile中使用ARG命令来定义参数名称及其默认值。还可以使用Docker build命令中的一个简单选项来覆盖此默认值。 ENVARG之间的区别在于,使用ARG设置环境变量后,以后尝试运行Docker容器时将无法访问该变量。

在本文中,我们将讨论如何在Dockerfile中使用ARG指令来设置参数。请按照以下步骤在Dockerfile中实现ARG指令:

第1步:编写一个Dockerfile来构建映像

您可以使用以下模板使用ARG指令创建Dockerfile。

FROM ubuntu:latest
ARG GREET=GeeksForGeeks
RUN echo "Hey there! Welcome to $GREET" > greeting.txt
CMD cat greeting.txt

上面的Dockerfile从Docker Hub中提取Ubuntu基本映像,并将名为GREET的参数设置为GeeksForGeeks。然后,它使用该参数创建一个文本文件,然后在该文本文件中打印消息。

第2步:构建Docker映像

您可以使用以下命令构建Docker映像。

sudo docker build -t arg-demo .

建立docker映像

步骤3:运行Docker容器

要运行Docker容器,可以使用以下Docker Run命令。

sudo docker run -it arg-demo bash

运行码头工人

您可以看到已经创建了greetings.txt文件,其中包含使用参数GREET创建的消息。

步骤4:覆盖ARG默认值

您可以使用–build-arg选项和build命令来覆盖ARG的默认值。

sudo docker build -t arg-demo --build-arg GREET=World .

覆盖ARG默认值

现在,您可以运行容器,打印文件,然后您将看到更新的消息。

打印dockerfile

总而言之,在本文中,我们讨论了如何使用ARG命令来设置要在整个Dockerfile中使用的参数值。我们还讨论了如何使用–build-arg选项以及Docker build命令覆盖参数值。