我有一个正在进行dockerizing的开发环境,并且我希望能够实时重新加载所做的更改而不必重建docker映像。我使用docker
compose是因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器
我在我的中定义了两个容器docker-compose.yml
:
node:
build: ./node
links:
- redis
ports:
- "8080"
env_file:
- node-app.env
redis:
image: redis
ports:
- "6379"
我已经到了我node
应用程序的dockerfile中添加卷的地步,但是如何将主机的目录挂载到卷中,以便对代码的所有实时编辑都可以反映在容器中?
这是我当前的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
挂载主机目录 挂载一个主机目录作为数据卷 使用 --mount 标记可以指定挂载一个本地主机的目录到容器中去。 $ docker run -d -P \ --name web \ # -v /src/webapp:/opt/webapp \ --mount type=bind,source=/src/webapp,target=/opt/webapp \ training/
问题内容: 在Docker容器中挂载主机目录非常容易。 但是我需要另一种方式。 我使用Docker容器作为开发环境来开发WordPress插件。该Docker容器包含运行WordPress所需的一切(MySQL,Apache,PHP和WordPress)。我从Docker容器中的主机挂载了我的插件src文件夹,以便可以在开发期间测试我的插件。 对于调试,如果我在主机上运行的IDE具有对Docker
假设我有一个应用程序具有这个简单的DockerFile: 然后我运行了一个容器: 所以它工作正常,并将一些日志存储在docker容器的中。 我也看到docker-mount目录从容器到主机,但它并没有解决我的问题我需要一种方法备份我的文件从Docker到主机。
我想挂载我的usb驱动器到一个正在运行的docker实例,手动备份一些文件。 我知道的特性,但这会创建一个新的容器。注意:它是一个nextcloudpi容器。
问题内容: 我以为我了解文档,但也许我听不懂。我的印象是该标志是双向的。如果我们在容器中有文件或目录,它们将被镜像到主机上,从而为我们提供了一种保留目录和文件的方法,即使在删除了Docker容器之后也是如此。 在官方的MySQL docker镜像中,这可行。所述可以被绑定到主机和生存重启和替换容器的同时维持在主机上的数据。 我为sphinxsearch-2.2.9写了一个docker文件,作为一种
问题内容: 我想将目录从docker容器挂载到本地文件系统。该目录是网站根目录,我需要能够使用任何编辑器在本地计算机上对其进行编辑。 我知道我可以运行,但是这样做只能在容器内创建一个空目录。 如何在Linux主机上的Docker容器内挂载目录? 问题答案: 如果您的目标是提供现成的LAMP,则应在Dockerfile中使用VOLUMES声明。 问题是docker不会挂载文件,因为它们已经在创建卷的