我正在使用 Maven 插入 docker compose 文件,以便映射 Linux 和 Windows 中的工作目录。插值在两种操作系统上都按预期工作。在我的本地 Windows 环境中,当运行“docker compose up”时,我获得了两个具有映射卷(已存在于主机上)的容器,而没有在顶层指定“volumes:” ,仅在服务级别指定。
但是,如果我尝试在基于 Linux 的 TeamCity 中运行相同的设置,我会收到以下消息“服务“job_controller”引用未定义的卷路径/到/目标/类:无效的撰写项目”
从这里检查其他人的答案后,我明白我还必须在顶层指定“volumes:”,这是我在撰写文件的底部所做的。
现在,系统提示我“不允许卷附加属性 /opt/buildagent/work/9857567c5e342350/path/to/target/classes”
name: Distributed
services:
create_database:
container_name: create_database
command:
- ./script.sh
- deployer
- -f
- ../config/product-mssql-v11.manifest.yaml
- drop-create-database-properties
image: alpine-3-corretto-11-wildfly-11.11.0-SNAPSHOT
networks:
- deploy
volumes:
- C:\\SourceCode\\Path\\to\\target/classes:/opt/product/config
healthcheck:
test: ["CMD", "/opt/product/script.sh", "deployer", "-f", "/opt/product/config/product-mssql-v11.manifest.yaml", "healthy"]
interval: 20s
timeout: 60s
retries: 5
job_controller:
container_name: job_controller
environment:
DEPLOYMENT_MANIFEST: /opt/product/config/main.manifest.yaml
PROPERTIES_FILE_NAME: /opt/product/config/risk-wildfly.properties
JAVA_OPTS: "-Xms1g -Xmx4g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1g -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true" …Run Code Online (Sandbox Code Playgroud)