据我了解,
Dockerfile就像是创建镜像的config/recipe,而docker-compose用于轻松创建多个可能有关系的容器,避免通过docker命令重复创建容器。
有两个文件。
Dockerfile
FROM node:lts-alpine
WORKDIR /server
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3030
CMD ["npm", "run", "dev"]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '2.1'
services:
test-db:
image: mysql:5.7
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_USER=admin
- MYSQL_PASSWORD=12345
- MYSQL_DATABASE=test-db
volumes:
- ./db-data:/var/lib/mysql
ports:
- 3306:3306
test-web:
environment:
- NODE_ENV=local
#- DEBUG=*
- PORT=3030
image: node:lts-alpine
build: ./
command: >
npm run dev
volumes:
- ./:/server
ports:
- "3030:3030"
depends_on:
- test-db
Run Code Online (Sandbox Code Playgroud)
问题 1
当我运行 docker-compose up --build 时
A。镜像将基于 Dockerfile …