Tag: 环境variables

我怎样才能使用一个环境variables作为docker集装箱的名称?

我想使用和环境variables命名一个docker容器,t = like: NAME=TEST docker run –name ${NAME} 我尝试了几种解释环境variables的方法,但是我用尽了想法。 我迄今为止的试验: $ NAME $ {NAME} `$ {NAME}` `NAME` 任何想法如何可能?

在使用docker撰写时将ES_JAVA_OPTSvariables与空格一起传递

我试图运行使用docker撰写Elasticsearch,但我不知道如何正确地通过ES_JAVA_OPTS="-Xms512m -Xmx512m"环境variables。 我已经尝试了很多单引号和双引号的组合,但它们都导致: Error: Could not find or load main class "-Xms512m 。 我的docker组成configuration是: elasticsearch: image: "docker.elastic.co/elasticsearch/elasticsearch:5.4.3" ports: – "6379:6379" environment: – "http.host=0.0.0.0" – "transport.host=127.0.0.1" – "xpack.security.enabled=false" – 'ES_JAVA_OPTS="-Xms512m -Xmx512m"' 这个环境variables在直接运行容器时工作得很好: docker run –detach \ –name elasticsearch \ –publish 9200:9200 \ –env "http.host=0.0.0.0" \ –env "transport.host=127.0.0.1" \ –env "xpack.security.enabled=false" \ –env "ES_JAVA_OPTS=""-Xms512m -Xmx512m""" \ docker.elastic.co/elasticsearch/elasticsearch:5.4.3 […]

无法使用默认的postgresql docker镜像创build数据库

官方网站说 ,如果你想build立postgresql databse只是把variablesPOSTGRES_USER, POSTGRES_PASSWORD and POSTGRES_DB 。 我把它们放到.env文件中,然后写入docker docker-compose文件env_file: ./.env ,但是然后django说: django.db.utils.OperationalError: FATAL: database "languages" does not exist 。 这意味着我应该用命令编写.sql脚本。 问题: 编写.sql sript是使其工作的唯一方法? 我怎么能写它,并把它放在哪里,如果我不想明确地写感知信息,如密码,我想使用.env文件,因为我将存储公共回购的.sql脚本? 我的.env文件 DEBUG=True SECRET_KEY=… POSTGRESQL_DATABASE=languages POSTGRESQL_USERNAME=admin POSTGRESQL_PASSWORD=pass POSTGRESQL_ADDRESS=postgres POSTGRES_DB=languages 我的docker – 撰写文件: version: '3' services: web: build: ./web env_file: ./web/microservice/.env volumes: – ./web:/code/ depends_on: – postgres command: python manage.py runserver 0.0.0.0:8000 nginx: […]

如何确认发送到docker run命令的环境variables是否被接收?

我遇到了一个问题,我将一个环境variables传递给docker run命令,但生成的容器使用默认值而不是传递的值。 这是我的Dockerfile: FROM alpine ENV MY_ENV="default value" ENTRYPOINT echo "MY_ENV: " $MY_ENV 以下是我构build和运行时发生的情况: $ docker build -t temp . Sending build context to Docker daemon 54.78kB Step 1/3 : FROM alpine —> 37eec16f1872 Step 2/3 : ENV MY_ENV "default value" —> Using cache —> 8ba6d797b765 Step 3/3 : ENTRYPOINT echo "MY_ENV: " $MY_ENV —> […]

将Docker的TLS选项设置为环境variables

我有使用证书运行的本地docker守护进程,并且可以使用非常长的命令来列出所有正在运行的容器 docker –tlsverify –tlscacert=/path/ca.cer –tlscert=/path/client.cert –tlskey=/path/client.key -H=localhost:2376 ps 但是,当我运行docker ps我得到一个bad certificate错误,因为上述命令的各种TLS选项不会传递给docker工人。 我已经花了许多小时通过docker网站,并找不到如何设置它们的任何选项。 我已经设置了DOCKER_CERT_PATH ,但似乎没有工作。 如果没有指定–tlscacert ,是否有DOCKER_CACERT会读取的DOCKER_CACERT环境variables?

我如何设置$ Dockerfile $ PS1?

如何在Dockerfile中设置PS1环境variables(bash提示符)? 我尝试过ENV PS1 "\h:\W \u$ " 但是这个命令不会改变提示。 我不知道为什么上面的ENV没有设置PS1提示。 我该怎么做?

docker-compose,导出environnementvariables在Jenkins中不起作用

我有一个不同的variablesdocker-compose.yml文件 version: "2" services: data: image: "${registryUrl}/data:${image_version}" 在我的shell中,我导出了registryUrl&image_version export registryUrl=zhcjie.distribution.ata.com:8652 export image_version=1.0-SNAPSHOT docker-compose up 这是在我的本地工作(我使用boot2Docker),但它不能在jenkins工作。 我有一个错误的信息。 The registryUrl variable is not set. Defaulting to a blank string. The image_version variable is not set. Defaulting to a blank string. 我尝试使用EnvInject插件传递envvariables,但它不起作用。

在容器中设置ENVvariables不工作,是否在容器运行时执行“/ usr / local / bin”下的每一个?

我在Dockerfile有以下的定义: # This aims to be the default value if -e is not present on the run command ENV HOST_IP=127.0.0.1 … COPY /container-files/etc/php.d/zz-php.ini /etc/php5/mods-available/zz-php.ini RUN ln -s /etc/php5/mods-available/zz-php.ini /etc/php5/apache2/conf.d/zz-php.ini COPY /container-files/init-scripts/setup_xdebug_ip.sh /usr/local/bin/setup_xdebug_ip.sh RUN chmod +x /usr/local/bin/setup_xdebug_ip.sh CMD ["/usr/local/bin/setup_xdebug_ip.sh", "/usr/local/bin/setup_php_settings.sh"] 这是zz-php.ini的相关定义: ; Xdebug [Xdebug] xdebug.remote_enable=true xdebug.remote_host="192.168.3.1" => this should be overwrited by HOST_IP xdebug.remote_port="9001" xdebug.idekey="XDEBUG_PHPSTORM" 这是脚本setup_xdebug_ip.sh的内容: […]

带有env的Docker命令var prepended(local env var)

我使用Docker Compose来启动一些容器,但是我没有得到command工作。 我想开始我的Flask服务器,但也为它设置一个env var。 以下是我所做的: web: command: INSTASONG_ENV=production python manage.py runserver 不幸的是,我得到这个错误: Cannot start container 2a413b1270b9faa5e0ffb8a70603ae25c48ff742e0d8476bed8153febcee185a: [8] System error: exec: "INSTASONG_ENV=production": executable file not found in $PATH 我怎样才能做这个工作?

Docker – 更新容器的环境variables

我已经build立了一个多个docker容器的服务器,可以通过jwilders nginx reversere proxy访问。 运行容器时,可以设置VIRTUAL_HOST环境variables。 我一直在试图找出一个容器启动后更新这些方法。 解决scheme发布在这里 : 您只需停止docker守护进程并更改容器configuration /var/lib/docker/containers/[container-id]/config.json 需要你停止docker守护进程,但是我不想诉诸于此。 另一个在这里 ,使用docker提交来保存实例信息: 话虽如此,您可以保存容器中的文件系统更改,将其作为新的映像提交; $ docker run -it –name=foobar alpine sh $ docker commit foobar mynewimage $ docker rm foobar $ docker run -it –name=foobar mynewimage sh 虽然这也似乎是刚刚改变一个环境variables的顶部。 我已经看过docker更新 ,但主要是重新configuration容器资源。 当然,如果我没有其他的select,我会使用上面的方法,但我想知道是否有人find了其他的解决scheme?