【发布时间】:2019-05-22 10:34:49
【问题描述】:
我已经构建了一个 Docker compose 文件来在它们自己的容器中运行数据库和一个 nodejs 微服务。
如果我没有指定 EXPOSE 端口,数据库似乎会停止工作,即使我已经在撰写文件中指定了它们。我们必须在两个地方都指定端口吗?
数据库/Dockerfile
FROM mysql
ENV MYSQL_DATABASE=test
ENV MYSQL_ROOT_PASSWORD=password
EXPOSE 6603:3306
COPY ./schema.sql /docker-entrypoint-initdb.d/
docker-compose.yml
version: '3'
services:
database:
build:
./database
ports:
- "6603:3306"
image: "test-mysql"
container_name: "test-mysql"
web:
build:
./service
ports:
- "8080:8080"
depends_on:
- database
image: "test-nodejs"
container_name: "test-nodejs"
restart: on-failure
我是否必须在 Database/Dockerfile 和 docker-compose.yml 文件中指定端口 6603:3306?
【问题讨论】:
标签: docker docker-compose