【发布时间】:2017-04-28 13:48:44
【问题描述】:
我是docker 的新手,所以我确定我做错了什么。我也是not a php developer,但在这种情况下应该没关系。
我正在使用drupal docker 镜像,该镜像在/var/www/html 目录中有数据。
我正在尝试使用主机系统上本地目录中的 drupal 站点覆盖此数据。
根据the docs,这是预期的行为
挂载主机目录作为数据卷
除了创建一个 卷使用 -v 标志,您还可以从您的 将 Docker 引擎的主机放入容器中。
$ docker run -d -P --name web -v /src/webapp:/webapp training/webapp python app.py
这个命令挂载主机目录,/src/webapp, 进入 /webapp 的容器。如果路径 /webapp 已经存在 在容器的图像中,/src/webapp 挂载覆盖但确实 不删除预先存在的内容。卸下支架后, 内容可以再次访问。这与预期一致 mount 命令的行为。
但是我发现容器上不存在本地 drupal 站点文件。我的完整工作流程如下:
docker-compose.yml
drupal:
container_name: empower_drupal
build: ./build/drupal-local-codebase
ports:
- "8888:80"
- "8022:22"
- "443"
#volumes: THIS IS ALSO NOT WORKING
#- /home/sameh/empower-tap:/var/www/html
$ docker-compose up -d
# edit the container by snapshotting it
$ docker commit empower_drupal empower_drupal1
$ docker run -d -P --name empower_drupal2 -v /home/sameh/empower-tap:/var/ww/html empower_drupal1
# snapshot the container to examine it
$ docker commit 9cfeca48efd3 empower_drupal2
$ docker run -t -i empower_drupal2 /bin/bash
empower_drupal2 容器没有来自/home/sameh/empower-tap 目录的正确文件。
【问题讨论】:
标签: linux docker drupal docker-compose