Tag: 环境variables

EmberCLI运行时configuration

我们在我们的基础架构中运行EmberCLI应用程序,我的任务是使其与我们的其他服务更好地协作。 关于EmberCLI有一点有趣的地方在于它的所有configurationvariables都被默认的烧写到了build中。 (具体在<meta>标签)。 我无法find提供运行时configuration的方法。 我们有一个“API_URL”环境variables提供给我们所有的服务,所以他们可以findAPI。 什么是运行时提供此url到EmberCLI的build议方式,所以我可以避免重build,并具有我们的前端应用程序完全构builddocker容器。

如何读取环境variables在ASP.NET核心2.0 + Docker中?

我有ASP.NET 2.0的webAPI和使用Mysql数据库。所以我在application.json文件中configuration“ConnectionString”。当我在本地运行它时,我能够读取连接string,并且应用程序正在运行完美。但是我试图使用Docker工具箱部署到docker工人。我写了三个文件: Dockerfile DOckerComposer Proxy.Conf 我正在使用docker composer文件,因为我必须在ngnix服务器上运行。我能够构build映像并运行它。 现在我正试图覆盖从docker-compose文件的连接string,但它不会被覆盖。 DockerFile FROM microsoft/aspnetcore:2.0 ARG source WORKDIR /app COPY $source . EXPOSE 5000 ENTRYPOINT ["dotnet", "xx.dll"] 泊坞窗,compose.yaml version: '2' services: app: container_name: cp-api build: . environment: – "ConnectionStrings:Test=server=192.168.99.101; port=3306; user=root; password=X123; database=TestDb; TreatTinyAsBoolean=true;" rev-proxy: container_name: rev-proxy image: nginx ports: – "9090:8080" volumes: – ./proxy.conf:/etc/nginx/conf.d/default.conf` Proxy.conf server { listen […]

在jenkins版本中包含.env文件的最佳做法是什么?

这是我的情况:我有一个Django的应用程序,这取决于configuration值存储在一个.env文件。 这个.env文件与源代码pipe理是分开的,以保持敏感信息的私密性。 这Django应用程序部署在一个docker容器,我有jenkins设置重build容器,每当检查到我们的Git仓库的变化。 构build将失败,除非在构build环境中存在.env文件。 包含该文件的最佳方式是什么? 我现在有jenkins设置执行一个shell文件写入到生成环境的命令,但我不禁觉得这是次优的,安全明智的。 什么是更好的方法来做到这一点?

Docker – 与引用的卷容器共享环境variables

是否有可能让Docker在运行时共享与–volumes-from链接的容器的环境variables,就像使用链接链接的容器–link ? 我在我的应用程序使用持久数据的数据专用容器,我想检查我的应用程序容器的入口点脚本是否在运行时引用数据容器,如果没有,则取消。 我的想法是检查数据容器的环境variables(包含暴露的卷的path)是否已经设置,我也计划在脚本中的某些点使用它的值(例如设置我的应用程序的数据目录其configuration文件)。 有没有办法做到这一点,如果不是什么将是下一个最好的方式来做我所描述的事情? 我发现HostConfig.VolumesFrom volumes-from HostConfig.VolumesFrom下的容器返回所有的volumes-from 。 这并不能完全解决共享问题,因为我想检查一个固定值(环境variables的名称),而不是一个容器名称,也需要variables的值,但这是一个开始。

Docker中的Laravel没有识别环境variables

我在Docker中使用环境variables时遇到了问题。 出于某种原因,Laravel无法看到我在Dockerfile中设置的环境variables。 像APP_KEY,APP_ENV等,但是当我SSH进入docker集装箱: docker exec -it [container_name] bash 并运行以下命令: php artisan tinker > print_r($_ENV) 环境variables存在并被设置为适当的值。 但是,当我试图在刀片模板中做同样的事情时,我根本没有看到APP_KEY,APP_ENVvariables。 我已经编辑了Docker容器中的php.ini文件,以便它显示 variables_order = 'EGPCS' .env文件是我可以将环境variables传递给Laravel的唯一方法吗? 我感谢你的帮助。 干杯

将可发送的环境variables传递给Docker

我使用的是Shippable有两个原因:自动生成我的docker镜像并传递encryption的环境variables。 我能够自动化构build,但我不能传递variables。 我开始在项目设置中将Shippable文本框input到环境variables中: SECRET_KEY=123456 我点击“encryption”button,然后shippable返回: – secure : hash123abc… 我把这个散列放到我的shippable.yml文件中。 看起来像: language: python python: – 2.7 build_image: myusername/myimagename env: – secure : hash123abc… build: post_ci: – docker login -u myusername -p mypassword – docker build -t myusername/myimagename:latest . – docker push myusername/myimagename:latest integrations: hub: – integrationName : myintegrationname type: docker branches: only: – master 自动化构build工作! […]

在docker中使用环境variables

我可以运行阿尔派节点4版本4.6.0: docker run mhart/alpine-node:4 node –version v4.6.0 我怎么能把这个到Dockerfile中: FROM mhart/alpine-node:4 node –version v4.6.0 如何使用环境variablesreplace:{4}和版本{v4.6.0}? 这样我可以更改节点版本?

Docker入口脚本无法获得$ DB_PORT_3306_TCP_ADDR环境variables

我有以下的Dockerfile: FROM php:5.6-apache MAINTAINER pc_magas@openmailbox.org EXPOSE 80 RUN apt-get update && apt-get install -y \ libjpeg-dev \ libfreetype6-dev \ libgeoip-dev \ libpng12-dev \ libldap2-dev \ zip \ mysql-client \ && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-configure gd –with-freetype-dir=/usr –with-png-dir=/usr –with-jpeg-dir=/usr \ && docker-php-ext-configure ldap –with-libdir=lib/x86_64-linux-gnu/ \ && docker-php-ext-install -j$(nproc) gd mbstring mysql pdo_mysql zip ldap opcache […]

哪些环境variables可以用于Docker镜像?

我只是在学习Docker。 如果我想使用Docker Hub中的特定映像,例如mysql,我怎么知道哪些环境variables可以用于该Docker映像? 任何方式来获得可用variables的列表?

泊坞窗。 将dynamic主机ip添加到容器的env var

我有一个非常特殊的场景。 包含一些docker容器的虚拟机。 其中一个容器需要知道主机IP。 问题是,如果我通过容器上的主机IP或在Docker运行命令使用-e ,它仍然是“静态”(始终是相同的,那一刻)在容器上。 该虚拟机可以在笔记本电脑上,而笔记本电脑正在从不同的networking移动,每次重新启动虚拟主机IP可以是不同的。 这个特殊的容器有–restart=always ,并且没有被构build或者再次运行“ –restart=always run”。 正如我所说的,我需要在每次重新启动主机的ip来configuration容器内的服务在它的入口点,因为容器有一个绑定DNS服务器,必须加载一个区域必须指向自己的一些DNS条目(主机的IP )。 如果可能的话,环境variables将会很好。 这些是我的数据: 这个“正常”的 我的Dockerfile的结尾: …. …. ENTRYPOINT ["/etc/bind/entrypoint.sh"] CMD ["/usr/sbin/named", "-g", "-c", "/etc/bind/named.conf", "-u", "bind"] 入口点文件(正则expression式工作正常,如果var可以有正确的值): #!/bin/bash sed -ri "s/IN A.*/IN A $HOSTIP/" /etc/bind/db.my.zone exec "$@" Docker运行cmd: docker run –name myContainer -d –restart=always -p 53:53 -p 53:53/udp myImage 我试过的: 我想入口点是好的,不应该被修改,如果我可以提供给它一个正确的值的variables。 如果我在Docker运行命令中加上-e ,即使主机位于不同的networking上,它也会始终以相同的ip永远“硬编码”: docker […]