我目前正在開發一個 maven 專案,我希望有 2 個 docker 容器,其中一個啟動所有測驗,另一個在所有測驗成功時編譯 de 專案。
問題是兩個容器都啟動了 prod dockerfile。
所以我的問題是為什么在 docker compose 中指向每個 Dockerfile 之后,它們都從 prod 開始
碼頭工人-compose.yml:
version: '3.8'
services:
db:
container_name: db
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_DATABASE: cuisine
MYSQL_ROOT_PASSWORD: example
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
timeout: 20s
retries: 10
ports:
- "3306:3306"
volumes:
- ./docker/mysql-dump/cuisine:/docker-entrypoint-initdb.d
- mysql:/var/lib/mysql
adminer:
image: adminer
restart: always
ports:
- 8080:8080
test:
container_name: java-test
image: spring-boot
build:
context: .
dockerfile: docker/test/Dockerfile
ports:
- "8081:8081"
- "5005:5005"
depends_on:
db:
condition: service_healthy
volumes:
- ${APPLICATION_ROOT_FOLDER}:/usr/src/mymaven
- ${MAVEN_SETTINGS_FOLDER}:/root/.m2
java:
container_name: java
image: spring-boot
build:
context: .
dockerfile: docker/prod/Dockerfile
ports:
- "8082:8082"
- "5006:5006"
depends_on:
db:
condition: service_healthy
volumes:
- ${APPLICATION_ROOT_FOLDER}:/usr/src/mymaven
- ${MAVEN_SETTINGS_FOLDER}:/root/.m2
volumes:
mysql:
uj5u.com熱心網友回復:
當您同時擁有這兩種build:服務時,構建的影像將使用名稱image:進行標記。image:您對這兩個服務具有相同的image:名稱,因此要構建的最后一個“獲勝”并為這兩個服務運行。洗掉image:兩者的名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/490321.html
