我有一个正在进行dockerizing的开发环境,并且我希望能够实时重新加载所做的更改而不必重建docker映像。我使用docker compose是因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器
我在我的中定义了两个容器docker-compose.yml:
docker-compose.yml
node: build: ./node links: - redis ports: - "8080" env_file: - node-app.env redis: image: redis ports: - "6379"
我已经到了我node应用程序的dockerfile中添加卷的地步,但是如何将主机的目录挂载到卷中,以便对代码的所有实时编辑都可以反映在容器中?
node
这是我当前的Dockerfile:
# Set the base image to Ubuntu FROM node:boron # File Author / Maintainer MAINTAINER Amin Shah Gilani <amin@gilani.me> # Install nodemon RUN npm install -g nodemon # Add a /app volume VOLUME ["/app"] # TODO: link the current . to /app # Define working directory WORKDIR /app # Run npm install RUN npm install # Expose port EXPOSE 8080 # Run app using nodemon CMD ["nodemon", "/app/app.js"]
我的项目如下所示:
/ - docker-compose.yml - node-app.env - node/ - app.js - Dockerfile.js
查看他们的文档
从外观上,您可以在docker-compose.yml上执行以下操作
volumes: - ./:/app