Tag: 环境variables

Docker环境variables对于没有名字意味着什么?

在logstash的Docker仓库中,我看到这个例子来说明如何运行它: $ docker run -it –rm logstash logstash -e 'input { stdin { } } output { stdout { } }' 关于这个的奇怪的是-e论点。 Docker文档build议-e参数的语法只包含至less有一个=字符的string,并且在第一次出现这个字符时将参数拆分,形成一个(键,值)对,然后定义一个环境variables当图像运行时。 上面的例子不适合这个scheme。 上面的示例是-e的有效值吗? 如果是这样,那是什么意思?

如何获得dockerfile来评估我发送给它的环境variables?

我在Docker容器中运行postgresql。 我的系统分为两部分,一次设置和一个运行时。 运行一次性设置时,我让用户input用户名,密码和dbname,然后用这些名称创build一个超级用户和数据库: docker run -e USERNAME=user -e PASSWORD=admin -e DBNAME=test myImage 以下是docker文件dockerfile的一个片段: RUN /etc/init.d/postgresql start && psql –command "CREATE USER $USERNAME WITH SUPERUSER PASSWORD '$PASSWORD';" && createdb -O $USERNAME $DBNAME 我已经用恒定的用户名,密码和数据库名称testing了这一切,但是当我尝试传递环境variables时,我似乎无法使其工作。 我想我以前读过一篇文章,声明环境variables不是由dockerfile扩展的,但是我也听到了相冲突的信息,即环境variables是在docker中传递这些信息的最好方法。 我如何获得上面的代码片段? 我只是使用不正确的语法来得到docker评估环境variables。 我也试着检查正在运行的容器,以确认环境variables设置正确(他们是)。

Docker撰写不识别'env_file'

我正在尝试运行docker-compose up并使用以下configuration: php: image: php:7.0-fpm expose: – 9000 links: – nginx nginx: env_file: .env image: nginx:latest ports: – 80:80 – 433:433 environment: – NGINX_HOST: ${APP_URL} mysql: env_file: .env image: mysql:latest ports: – 3306:3306 environment: – MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} – MYSQL_DATABASE: ${DB_DATABASE} – MYSQL_USER: ${DB_USERNAME} – MYSQL_PASSWORD: ${DB_PASSWORD} – MYSQL_ALLOW_EMPTY_PASSWORD: no 我有一个.env文件在同一个目录下,并且能够在shell中testing这个variables,但是.env似乎没有加载.env 。 警告 :APP_URLvariables未设置。 默认为空白string。 警告 […]

Docker组合将不会find$ PWD环境variables

这是我的docker组成: version: '2' services: couchpotato: build: context: ./couchpotato dockerfile: Dockerfile ports: – 5050:5050 volumes: – "${PWD}/couchpotato/data:/home/CouchPotato/data/" – "${PWD}/couchpotato/config:/home/CouchPotato/config/" 当我在shell中运行它时,在docker-compose.yml的目录中,我得到: WARNING: The PWD variable is not set. Defaulting to a blank string. 并且编写以PWD为空开始。 我没有看到文件中的任何错误,如下所示: https : //docs.docker.com/compose/environment-variables/

docker.env文件重复使用声明的variables

当我运行docker-compose构build时,我有一个.env文件用于在我的docker-machine上构build环境variables,如下所示: COMPOSE_PROJECT_NAME=radar ENV=production DB_NAME=postgres DB_USER=postgres DB_PASS=sho1c2ov3Phezaimah7eb2Tii4ohkah8k DB_SERVICE=postgres DB_PORT=5432 C_FORCE_ROOT="true" PGHOST=postgres PGDATABASE=postgres PGUSER=postgres PGPASSWORD=sho1c2ov3Phezaimah7eb2Tii4ohkah8k PGPORT=5432 如果你已经注意到像“DB_NAME”和“PGDATABASE”这样的冗余是一样的..有没有办法避免这种情况?

Xdebug(在Docker容器中)忽略XDEBUG_CONFIG环境variables

我正在Docker上运行一个PHP应用程序,我想用XDebug进行debugging。 在我的docker-compose中,我在phpfpm部分添加了以下几行: environment: XDEBUG_CONFIG: "remote_enable=1 remote_host=192.168.110.29 remote_port=9000 idekey=PHPSTORM remote_autostart=1" PHP_IDE_CONFIG: "serverName=reports.dev" 我正确地configuration了PHPStorm,在端口9000上监听并运行应用程序。 该应用程序完美的工作,但XDebug似乎并没有工作。 如果我移动php.ini文件中的configuration行,除了服务器名是空的,我不能debugging(这就是为什么我试图按照docker-composeconfiguration方式)的事实除外。 如果在Docker容器中运行echo $ XDEBUG_CONFIG,则输出是正确的,但是XDebug似乎没有读取Envvariables。

使用docker run将值连接到现有的env var

尝试将值连接到Docker容器中的现有环境variables我开始。 例如 – docker run -it -e PATH=$PATH:foo continuumio/anaconda 我目前正在试图将一个值连接到已经存在于容器中的现有PATH环境variables。 我希望在容器的PATH环境variables中看到以下值 – PATH=/opt/conda/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/local/scala/bin:/usr/local/sbt/bin:/usr/local/spark/bin:/usr/local/spark/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 相反,我得到这个 – PATH=$PATH:foo 使用docker run命令。 无论如何要实现我的目标? – 编辑 – 我正在执行从Windows 10命令行窗口的命令。

使用docker运行echo环境variables

任何人都可以解释为什么这不起作用: # docker run -ti –rm golang echo $GOPATH # docker run -ti –rm golang echo \$GOPATH $GOPATH 当这个工作: # docker run -ti –rm golang bash -c "echo \$GOPATH" /go

在docker run命令中传递多个env文件

我只是想知道我怎么能指向两个env文件,说/var/app/old/file.conf和/var/market/old/db.conf ,都在命令行中,因为我发现有多个支持-e标志。 Docker是否支持在下面的命令行中指向多个env文件 docker run -d –hostname=158.64.72.80 -d -p 80:80 –env-file /var/app/old/file.conf –env-file /var/market/old/db.conf

从Docker容器获取环境variables

从Docker容器中获取未在Dockerfile中声明的环境variables的最简单方法是什么 ? 例如,通过一些docker exec container /bin/bash会话设置的环境variables? 我可以做docker exec container env | grep ENV_VAR docker exec container env | grep ENV_VAR ,但我更喜欢的东西,只是返回值。 我已经尝试使用docker exec container echo "$ENV_VAR" ,但替代似乎发生在容器外,所以我没有从容器中获得env var,而是从我自己的计算机中获得env var。 谢谢。