首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从docker-compose到.net核心应用程序的环境变量

从docker-compose到.net核心应用程序的环境变量
EN

Stack Overflow用户
提问于 2020-10-27 16:08:37
回答 1查看 110关注 0票数 0

我想把我的环境变量(API_ENDPOINT)从docker-compose传递给我的.net核心应用程序接口app.config。

docker-compose:

代码语言:javascript
运行
AI代码解释
复制
services:
  api_service:
        image: api_image
        environment:
          - API_ENDPOINT=http://service:3000/api/v1/
        ports:
          - "44399:44399"

.NET核心,app.config:

代码语言:javascript
运行
AI代码解释
复制
<add key="apiUrl" value="{{API_ENDPOINT}}" />

从docker-compose中获取API_ENDPOINT的.net核心价值是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2020-10-27 17:12:55

您可以编写一个ENTRYPOINT来执行此转换。

代码语言:javascript
运行
AI代码解释
复制
#!/bin/sh

# Replacing {{API_ENDPOINT}} placeholder by the value of the variable
sed -ibak -e "s~{{API_ENDPOINT}}~${API_ENDPOINT}~g" \
  /app.config

exec "$@"

并将其添加到您的Dockerfile中。

代码语言:javascript
运行
AI代码解释
复制
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1

# ...

COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
RUN chmod +x /docker-entrypoint.sh

构建和测试

代码语言:javascript
运行
AI代码解释
复制
# build
docker build --rm . -t test-net

# test (mimic what is done on compose)
docker run --rm -it --env API_ENDPOINT="http://service:3000/api/v1/" test-net cat /app.config

# <add key="apiUrl" value="http://service:3000/api/v1/"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64558438

复制
相关文章
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
29.2K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
Newbe.Claptrap框架入门,第一步——创建项目,实现简易购物车
让我们来实现一个简单的“电商购物车”需求来了解一下如何使用 Newbe.Claptrap 进行开发。
newbe36524
2023/08/23
1950
Newbe.Claptrap框架入门,第一步——创建项目,实现简易购物车
linux which
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的,所以,不同的 PATH 配置内容所找到的命令是不一样的
用户5760343
2022/05/23
5580
which命令
which命令用于标识在终端提示符下键入可执行文件名称或命令时执行的给定可执行文件的位置,该命令在PATH环境变量中列出的目录中搜索作为参数指定的可执行文件。
WindRunnerMax
2020/09/16
8940
Linux & Shell 在系统中查找程序 which type
mwangblog
2018/07/04
1.9K0
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
Linux之which命令
/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin
入门笔记
2021/12/25
5770
Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车
让我们来实现一个简单的 “电商购物车” 需求来了解一下如何使用 Newbe.Claptrap 进行开发。
newbe36524
2020/07/09
1K0
Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车
Linux之which命令
/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin
入门笔记
2021/02/17
6010
Linux之which命令
/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin
入门笔记
2022/06/02
5690
Spring在无RedirectAttributes的情况下(如Interceptor中)使用Flash scope
判断逻辑很简单,但是重定向的时候需要前台有消息提示,如果是在Controller中,可以在方法上注入RedirectAttributes参数,但是Interceptor中默认没有这个参数,那么我们如何实现RedirectAttributes的flashMessage功能呢?
飞奔去旅行
2019/06/13
5.5K0
如何在openGauss 2.1.0中使用Job?
Job类似Unix中的crontab,有定时执行的功能,可以在指定的时间点或每天的某个时间点等自行执行任务。在各类系统使用运行过程中,经常会遇到需要定时完成的任务,比如定时更新数据,定时统计数据生成报表等等,这些工作都可以使用Job来完成。在openGauss 2.1.0中,提供了以下接口来实现管理Job。
数据和云
2021/11/10
6.4K0
如何在openGauss 2.1.0中使用Job?
Linux之which命令
/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin
入门笔记
2021/07/02
1.2K0
如何在CDH中安装和使用StreamSets
StreamSets由Informatica前首席产品官Girish Pancha和Cloudera前开发团队负责人Arvind Prabhakar于2014年创立。他们成立该公司主要是应对来自动态数据(data in motion)的挑战 - 包括数据源,数据处理和数据本身,这是一个称为“数据漂移“(https://streamsets.com/reports/data-drift/)的问题。StreamSets设想从头开始管理数据流,避免已有产品和工具的缺陷,并启用一种管理动态数据(data in motion)的新方法。
Fayson
2018/03/30
36.1K2
which(1) command
which 可指定一个或多个参数。对于它的每个参数,它将可执行文件的完整路径打印到 stdout。它通过使用与 bash(1) 相同的算法在环境变量 PATH 中列出的目录中搜索可执行文件或脚本来实现这一点。
恋喵大鲤鱼
2023/10/12
1620
.NET周报【1月第2期 2023-01-13】
https://www.cnblogs.com/tcjiaan/p/17024363.html
InCerry
2023/03/08
2.7K0
.NET周报【1月第2期 2023-01-13】
stdin and stdout which it's ?
最近写了几个C函数,来处理项目中一个Desktop跨应用的进程通信,被32-bit,LE(BE)折磨了很久,stdin and stdout 看起来是一个很简单的标准输入输出,但是处理的过程中,却遇到了很大的障碍,因为历史问题,一个bytes的长度,需要将消息的位置移动4个byte存储消息的长度,先发送给对方,告诉对方我即将发送一个多少长度的byte,反之解析也是亦然。
icepy
2019/06/24
9890
stdin and stdout which it's ?
如何在 Linux 中安装、设置和使用 SNMP?
SNMP(Simple Network Management Protocol)是一种用于管理和监控网络设备的协议。它允许网络管理员通过远程方式收集设备的运行状态、性能数据和错误信息,以便进行故障排除和网络优化。在Linux系统中,我们可以安装、设置和使用SNMP来监控和管理服务器和网络设备。本文将详细介绍在Linux中安装、设置和使用SNMP的步骤和方法。
网络技术联盟站
2023/06/25
3.2K0
如何在 Linux 中安装、设置和使用 SNMP?
点击加载更多

相似问题

FluentAssertions: FluentAssertions包含"IsEquivalentTo“元素

49

如何在FluentAssertions中对集合中的属性使用Exclude?

9100

如何在AllNotSatisfy中创建“FluentAssertions”条件

112

FluentAssertions:如何在lambda中设置断点

33

如何在R中设置which函数

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文