我有2个docker compose文件需要一起运行,文件的位置如下
/home/project1/docker compose。yml公司
和
/home/project2/docker-compose.yml
所以很明显两个服务应该有不同的上下文路径
但当我在docker下运行compose命令时
docker compose-f/home/project1/docker compose。yml-f/home/project2/docker-compose。yml配置
我明白了,这两个服务都获得了相同的上下文路径
app:
build:
context: /home/project1
dockerfile: Dockerfile
app2:
build:
context: /home/project1
dockerfile: Dockerfile
如何解决这个问题?我希望我的两个服务都有自己的项目路径。
应用程序服务应具有上下文路径/主页/项目1
和
App2服务应该有上下文路径 /home/project2
似乎在使用多个docker-complace文件时,上下文是从第一个文件的位置获取的。本期将详细解释
https://github.com/docker/compose/issues/3874
选项1:对两个docker compose文件中的上下文使用绝对路径
选项2:使用绝对路径创建docker-compose.override.yml:
version: "3"
services:
service1:
build:
context: /home/project1
service2:
build:
context: /home/project2
并将其包含在docker compose命令中:
docker-compose -f /home/project1/docker-compose.yml -f /home/project2/docker-compose.yml -f /home/docker-compose.override.yml config
在linux上,避免在docker compose中对基本路径进行硬编码。推翻yml,您可以使用PWD环境变量:
services:
service1:
build:
context: ${PWD}/project1
service2:
build:
context: ${PWD}/project2
我发现可以运行多种服务的方法是:
1.首先借助docker build命令为所有服务创建映像
例如:在我的例子中,它是一个带有maven构建工具的java应用程序,所以我使用了命令:
mvn clean package docker:build-Denv=$ENV-DskipTests
2.在所有图像构建完成后,创建一个常见的docker compose文件,如下所示
version: '3'
services:
service1:
image: <service1-image>
ports:
- "8100:8080"
environment:
- TZ=Asia/Kolkata
- MYSQL_USER=root
- MYSQL_PASSWORD=unroot
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
service2:
image: <service2-image>
ports:
- "8101:8080"
environment:
- TZ=Asia/Kolkata
- MYSQL_USER=root
- MYSQL_PASSWORD=unroot
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
service3:
image: <service3-image>
environment:
- TZ=Asia/Kolkata
- MYSQL_USER=root
- MYSQL_PASSWORD=unroot
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
networks:
default:
external:
name: dev
我提到mysql根、密码的方式,还可以添加环境变量。
3.然后运行下面的命令以运行所有服务
docker-compose-f docker-compose。yml向上
或在下面运行命令以运行特定服务
docker-compose-f docker-compose。yml up服务1
这对我来说很好,这将需要1次设置,但在那之后它将非常容易和快速。
嗨,我正在寻找一个最快的解决方案来处理csv文件的负载。 情况:我在一个文件夹中有多个csv文件,它们的标题不同 我已经对它们进行了预处理,以删除顶部的垃圾行,因此所有这些都有一个标准标头。 我想将一组CSV文件与完全相同的侦听器合并到一个新文件夹中 示例文件-1。csv 示例文件-2。csv 样本文件-3。csv 样本文件-4。csv 样本文件-5。csv 样品File-6.csv 样本文件-7
问题内容: 使用上下文路径时,Spring Boot中的静态内容出现问题。即:我希望将我的应用程序部署到 当我在没有上下文路径的情况下运行应用程序时,一切正常,Spring Boot会找到并运行我的文件(来自资源/ templates /,我正在使用)和JS文件(来自资源/ static / js /),但是当我添加上下文路径时与: 要么 然后这些页面仍由JS文件显示,产生 404错误 。 我已经
我有两个具有相同id的MDM配置文件,我想在同一设备上安装来自不同环境的两个不同应用程序。当我启用设备时,它将从设备中删除以前安装的应用程序。启用另一个MDM配置文件时,是否可以保存我已安装的应用程序?
这是项目结构 这是docker文件
我在Spring Boot应用程序中使用React Axios进行API调用。 我的应用程序上下文路径是test 当我在浏览器中启动应用程序时,http://localhost:8080/test,反应页面呈现。在页面呈现中,我正在调用服务 因此,预期调用应为http://localhost:8080/test/api/events,因为test是上下文根。但是,API调用中添加了测试。 只是打电
我使用Spring启动与网络通量和删除嵌入的tomcat依赖从初学者网络,我想添加基本上下文路径为我的应用程序,有什么办法我可以做??我需要这个,因为我有在kubernetes集群和重定向基于上下文路径的ingrees属性。