【发布时间】:2020-08-06 08:34:16
【问题描述】:
我正在尝试使用 Docker 进行本地开发。问题是当我对代码进行更改时,我必须运行以下命令才能在本地查看更新:
docker-compose down
docker images # Copy the name of the image
docker rmi <IMAGE_NAME>
docker-compose up -d
这是一口,需要一段时间。 (也许我可以把它变成一个 bash 脚本,但你认为这是个好主意吗?)
我真正的问题是:我可以使用(甚至每次手动)更新图像和容器的命令吗?还是每次我对代码进行更改时,我都必须完成上述整个工作流程?
仅供参考,这里是我的Dockerfile和docker-compose.yml。
Dockerfile
FROM node:12.18.3
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 4000
CMD ["npm", "start"]
docker-compose.yml
version: "2"
services:
web:
build:
context: .
dockerfile: Dockerfile
container_name: web
restart: always
ports:
- "3000:3000"
depends_on:
- mongo
mongo:
container_name: mongo
image: mongo
volumes:
- ./data:/data/db
ports:
- "27017:27017"
【问题讨论】:
-
试试
docker-compose up -d --build。它应该在开始时重建所有图像。 -
我相信 bash 脚本是自动化此操作的好方法。如果您关心构建时间,您可以结合使用 docker cp 和 docker exec 来随时更新代码。我建议检查 VS Code 并在容器内开发 code.visualstudio.com/docs/remote/containers
-
@MarkoE - 你的解决方案奏效了!你能把它放在一个正确的答案中,我会把它标记为正确的吗?
标签: docker docker-compose dockerfile