可以使用以下代码示例:
首先,在Dockerfile中,我们需要定义要使用的机密名称。例如,我们可以定义一个名为“db_password”的密钥,如下所示:
FROM alpine
RUN echo "Database password: $(cat /run/secrets/db_password)"
然后,我们需要创建一个机密对象文件(在这种情况下,为“db_password”),其中包含我们要使用的机密信息。例如:
$ echo -n 'hunter2' > db_password.txt $ docker secret create db_password db_password.txt
现在我们可以在docker build命令中使用--secret标志来访问机密对象。例如:
$ docker build --secret id=db_password,src=db_password.txt .
这将将机密对象“db_password”作为文件“db_password.txt”注入到构建环境中。我们可以在我们的Dockerfile中按如下方式使用:
RUN echo "Database password: $(cat /run/secrets/db_password)"
注:当您使用机密对象时,建议您使用docker-compose.yml构建文件而不是直接使用docker build命令。例如,您可以编写以下docker-compose.yml文件:
version: "3.7"
services: app: build: context: . args: db_password: /run/secrets/db_password ...
然后在运行docker-compose build时,docker-compose会自动查找机密对象并将其注入到构建环境中。