重建 .jar 文件并重建 docker 映像后,我尝试 docker-compose up,然后出现错误 ERROR: 'network_mode' 和 'networks' 无法组合
这是 docker-compose.yml 文件
version: "3"
services:
postgres:
image: postgres:latest
restart: always
container_name: postgresdb
ports:
- 5432:5432
environment:
- POSTGRES_PASSWORD=admin
- POSTGRES_USER=postgres
- POSTGRES_DB=postgres
volumes:
- ./tables.sql:/docker-entrypoint-initdb.d/shema.sql
networks:
- rent-manager-network
rent-service-manager:
image: rent-service-manager
network_mode: bridge
container_name: rent-manager-app
ports:
- 8080:8080
environment:
SPRING_DATASOURCE_URL: ${POSTGRESS_URL}
restart: always
depends_on:
- postgres
networks:
- rent-manager-network
networks:
rent-manager-network:
driver: bridge
Dockerfile:
FROM openjdk:11.0.1-slim as builder
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract
ENTRYPOINT ["java", "-jar", "application.jar"]
请从
network_mode: bridge
服务中删除 rent-service-manager
。
当您的网络桥接时,您不需要它。
来自 network_mode 的文档:
设置 [网络模式] 时,不允许使用
属性,并且 Compose 会拒绝任何包含这两种属性的 Compose 文件。networks
此外,
networks:
必须设置为以下之一:
none
host
(为容器提供对主机网络接口的原始访问权限)service:{name}
container:{name}