Tag: 环境variables

如何将dockerfile环境variables传递给node.js文件?

如何将dockerfile环境variables传递给node.js文件? 我跟随docker文档传递ENVvariables,没有任何variables被传递。 对这个问题的任何见解? dockerfile: FROM 10.118.224.132:5000/node:8.6.0-wheezy ENV PORT 6000 ENV iamIP2="10.118.225.199" ENV iamPort 9999 ENV iamPort2=9997 RUN apt-get update WORKDIR /usr/src/app COPY package.json /usr/src/app COPY . . ENV mongoDBurl=10.118.225.149:27017/globalIndex CMD ["node", "server.js"] server.js: "use strict"; const fs = require('fs'); const http = require('http'); const cors = require('cors'); const request = require('request'); const link1 = process.env.PROXY_IAM_URI; […]

如何在docker-compose的两个不同的端口上启动两个memcached实例?

我想启动两个memcached的docker-compose服务。 我正在使用两个实例的docker标准memcached图像。 Memcached应​​该能够使用环境variables来改变它正在监听的端口,但它似乎不工作。 我的docker-compose.yml … memcached-server: image: memcached environment: MEMCACHED_PORT: 11211 ports: – 11311:11211 networks: – my_net memcached-server-lock: image: memcached environment: MEMCACHED_PORT: 11212 MEMCACHED_CACHE_SIZE: 128 ports: – 11312:11212 networks: – my_net … 容器开始正确,但envvariables似乎没有拿起: 0ae76227b72b memcached "docker-entrypoint…" 17 seconds ago Up 13 seconds 0.0.0.0:11311->11211/tcp mobidesk_memcached-server_1 ab3682361dad memcached "docker-entrypoint…" 17 seconds ago Up 12 seconds 11211/tcp, 0.0.0.0:11312->11212/tcp […]

多个Docker从docker-compose .env文件构build参数

.env -compose的.env文件遇到了一个奇怪的问题。 我可以在我的.env文件中使用第一个variableskey = pair,但只能使用第一个variables。 这是我的文件夹结构 |- root | |- .env | |- docker-compose.yaml | |- service-1 | |- Dockerfile .ENV: GIT_TOKEN=c3e13c4e33935 DB_PWD=mypassword 泊坞窗,compose.yaml: version: '3' web-server: container_name: service-1 image: sdc/service-1:0.1 build: context: ./service-1 args: – GIT_TOKEN=$GIT_TOKEN – DB_PWD=$DB_PWD 服务-1 / Dockerfile: FROM node:boron ARG GIT_TOKEN ARG DB_PWD RUN git clone https://${GIT_TOKEN}@github.com/chrxn/sdc.git RUN echo {"database_password:" […]

docker-compose .env和direnv .envrc

我们已经使用direnv很长一段时间来自动加载特定文件夹中的环境variables。 而从版本3开始, docker -compose似乎支持.env文件 。 .envrc使用的.envrc文件使用export : export NODE_ENV=development docker-compose使用相同的文件似乎不工作,只有没有export我得到的variables的值。 NODE_ENV=development 任何想法如何统一到一个单一的.env或.envrc文件或.envrc的替代?

从链接dockers重命名环境variables

当我在docker工人中创build一个链接环境variables在docker工人自动设置,但名称不是我想他们是。 例如:一个叫做applink的链接会导致 APPLINK_NAME=/app2/applink APPLINK_PORT_80_TCP_ADDR=172.17.0.4 APPLINK_PORT_80_TCP=tcp://172.17.0.4:80 APPLINK_PORT_80_TCP_PROTO=tcp APPLINK_PORT=tcp://172.17.0.4:80 作为环境variables我不介意命名架构,但我不介意addr是名称"APPLINK_PORT_80_TCP_ADDR"由数字80组成,这是端口号有无论如何,我可以改变命名架构跳过端口号? 或者使用具有相同值的脚本创build其他variables,但跳过端口号? 或者,我可以创build一个脚本来将APPLINK_PORT标记为CONNECTION_TYPE , IP_ADDR , PORT

使用环境variables创buildDockerfile

我正在尝试创build一个Docker镜像,为用户运行一个命令。 该命令将需要一些variables条目,特定于运行它的人员。 我尝试用variables简单地创build它,并且因为命令不能在构build时运行,所以该过程不会完成。 然后我尝试使用'$ {varname: – 可能的值},并且我进一步了一点。 我猜这个问题的一部分可能是一些variables是URL,因为文件夹名称,也是一个variables,正在接受。 我曾尝试添加转义字符('\')到URL中的所有特殊字符,所做的只是给我一个“错误的替代”错误。 那么,我应该改变我的语法吗? RUN /usr/bin/java -jar export.jar calendar \ –output /var/www \ –format public \ –restUri ${one_uri:-http://my.site:8080/subdir/restservice} \ –daysForward ${days_forward:-30}

如何将环境variables值传递到docker容器中的文件我试图运行

假设我在我的docker容器中有一个configuration文件: /opt/jboss/bin/config.xml Config文件如下所示: <Database-Password>$PASSWORD</Database-Password> 我想在使用“–env-file”参数运行docker容器时传递实际密码。 这是我传入的env文件中的内容: PASSWORD=MyPassword 我理解VARIABLE = VALUE语法。 “MyPassword”是密码variables的值。 docker如何知道用这个variablesfind特定文件(/opt/jboss/bin/config.xml)并将其交换出来? 我是否正确地在configuration文件中声明variables? 出于某种原因,我很难find这些信息。

使用sudo运行docker-compose时,在docker-compose.yml文件中进行variablesreplace

我目前正在尝试在docker-compse.yml文件中使用variablesreplace。 该文件包含以下内容: jenkins: image: "jenkins:${JENKINS_VERSION}" external_links: – mongodb:mongo ports: – 8000:8080 下面的图片展示了当我尝试开始一切时发生的事情。 正如你所看到的,docker-compose显示一个警告,说这个variables没有设置。 我怀疑这是由于使用sudo启动docker-compose造成的。 我的设置(一个Jenkinsdocker集装箱可以访问docker和docker – 通过卷挂载组成)目前需要使用sudo。 停止需要sudo的docker会更好吗,还是有另一种方法可以解决这个问题,而不需要改变当前的设置?

从Docker中检测Virtualbox

我的使用Docker的应用程序应该在Ubuntu中直接和Windows + VirtualBox(没有Vagrant)略有不同。 是否有可能检测到我是否在 Ubuntu > Docker > Ubuntu或in Windows > VirtualBox > Ubuntu > Docker > Ubuntu ? 为什么我需要这个? 我有PHP的Symfony应用程序和开发环境是非常缓慢的Windows(每个请求需要超过5秒),因为VirtualBox共享文件夹。 我将var/cache和var/logs移出到/dev/shm/appname/ ,一切都变得更快了。 但是使用Ubuntu的开发者并不需要这个function – 即使没有这个黑客攻击,它也能正常工作。 我的想法 每个开发人员都可以拥有自己docker-compose.yml并设置环境variables,但是现在我们在大多数情况下共享相同docker-compose.yml 。

Docker环境variables和Django数据库设置

我正在用Django运行一个Docker容器。 这是我的dev.yml文件: version: '2' volumes: postgres_data_dev: {} postgres_backup_dev: {} services: postgres: build: ./compose/postgres volumes: – postgres_data_dev:/var/lib/postgresql/data – postgres_backup_dev:/backups environment: – POSTGRES_USER=sorbetcitron django: build: context: . dockerfile: ./compose/django/Dockerfile-dev command: python ./manage.py runserver_plus 0.0.0.0:8000 depends_on: – postgres environment: – POSTGRES_USER=sorbetcitron – USE_DOCKER=yes – DJANGO_DEBUG=True – DATABASE_URL=postgres://django:django@localhost:5432/sorbetcitron volumes: – .:/app ports: – "8000:8000" links: – postgres pycharm: build: […]