600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > deleter mysql 如何通过env文件传递docker中的环境变量?

deleter mysql 如何通过env文件传递docker中的环境变量?

时间:2021-02-16 03:41:59

相关推荐

deleter mysql 如何通过env文件传递docker中的环境变量?

鉴于此Dockerfile:

FROM alpine:3.7

ENV LAST_UPDATED=-02-22

ARG XDG_CACHE_HOME=/tmp/cache/

RUN apk update && \n apk add libxslt && \n apk add sed && \n apk add py-pip && \n apk add mariadb-client && \n apk add bash bash-doc bash-completion && \n pip install httpie && \n rm -rf /var/cache/apk/*

WORKDIR /usr/deleter/

COPY delete.sh ./

ENTRYPOINT ["/usr/deleter/delete.sh"]

我希望能够通过带有ke??y = value格式的.env文件传递多个变量.

$cat stage.env

MYSQL_DATABASE=database

MYSQL_HOST=127.0.0.1:3306

MYSQL_PASSWORD=password

MYSQL_PORT=3306

MYSQL_USER=a_user

我的delete.sh只是这样:

#!/bin/bash

set -e

set -o pipefail

echo "hello world"

echo ${MYSQL_DATABASE} ${MYSQL_HOST} ${MYSQL_PASSWORD} ${MYSQL_PORT} ${MYSQL_USER}

echo "ALL VARIABLES"

env

我期望看到env变量,但它们都是空的. –env-file选项似乎无法正常工作.脚本的输出是:

hello world

ALL VARIABLES

HOSTNAME=f52c5c2aa22b

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PWD=/usr/deleter

LAST_UPDATED=-02-22

SHLVL=1

HOME=/root

_=/usr/bin/env

我通过以下方式创建并运行docker容器:

docker build -t deleter:local

docker run deleter:local --env-file stage.env

我试过–env-file stage.env, – env-file = stage.env, – env-file ./stage.env,但我没有看到任何被包含的内容或任何抛出的错误.我也用绝对路径尝试过它.

stage.env与我的Dockerfile处于同一级别.

env文件是有效的,我可以在我的本地机器上获取它,访问那里的变量.

我的错误在哪里?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。