[英]Reference Dockerfile from docker-compose.yml?
我有一個 web 服務,它使用 MySQL 作為其后備存儲。 我想 Dockerize 這個服務以及它的 MySQL DB。 對於服務,我有以下 Dockerfile:
FROM openjdk:8-jdk-alpine as cce
COPY build/libs/my-service.jar my-service.jar
EXPOSE 9200
ENTRYPOINT [ \
"java", \
"-Ddb.hostAndPort=my-service-db:3306", \
"-Ddb.name=my_service_db_local", \
"-Ddb.username=my-service-user", \
"-Ddb.password=abc123", \
"-jar", \
"my-service.jar" \
]
If I understand the Docker ecosystem correctly, it sounds like I can write a Docker Compose file to spin up the MySQL container instance as well as the web service container instance. 所以我開始了一個docker-compose.yml
文件,看起來像這樣:
version: "3.7"
services:
my-service-db:
image: mysql:8
container_name: my-service-db
command: --default-authentication-plugin=mysql_native_password
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: r00tdud3
MYSQL_DATABASE: my_service_db_local
MYSQL_USER: my-service-user
MYSQL_PASSWORD: abc123
volumes:
- ./my-service-db-data:/var/lib/mysql
my-service:
??? how to specify local Dockerfile here ???
depends_on:
- my-service-db
從我自己的修補來看,我相信 MySQL 容器的配置方式是我想要的,並且是正確的。 現在我只是想弄清楚如何告訴docker-compose.yml
文件(它將位於我的項目的根目錄中,就在 Dockerfile 旁邊)使用服務的 Dockerfile,並且它取決於首先啟動的 Z62A004B95941CABB3AZ74 容器/跑步。 我想我已經接近了,但我很難越過終點線。
誰能幫我配置docker-compose.yml
來創建一個名為my-service
,該服務使用本地Dockerfile
進行配置?
您可以從 dockerfile 創建映像:
docker build - < Dockerfile
然后你應該用正確的名稱標記你的圖像。
創建映像后,請在 docker-compose.yml 文件中引用它:
my-service:
image: ${image_name}
另一種選擇是簡單地寫:
my-service:
build: .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.