在 Docker 中编辑源代码

Edit source code in Docker

我在我的本地机器上 运行 一个 Drupal 站点及其 MySQL 数据库,源代码被分成许多 Github 个存储库(每个模块一个)。

由于在新机器上制作网站运行对于所有存储库和迁移数据库来说非常耗时,我在想Docker是否可以提供帮助。几个问题:

Can Docker encapsulate the entire drupal site, including the database with some data already there?

是的。声明容器时,使用选项 -v $ext_source:$int_source 将卷从主机挂载到 VM。示例:

docker run ... -v ~/sql/mysite:/srv/sql -v ~/dev/mysite:/srv/code ... Arturo/mysite.dev:0.1

这会将两个目录从您的本地主机挂载到 VM,您只需将数据库指向 Docker 容器内即可使用挂载的数据。

顺便说一句,挂载的目录可以实时编辑。因此,如果您在容器内挂载源代码目录,然后在主机上编辑代码,您的更改将在容器内可用。

以下 compose 文件可用于 运行 Drupal。您可以通过更改目录卷映射来调整它。

docker-compose.yml

db:
  image: mysql
  environment:
    - MYSQL_ROOT_PASSWORD=letmein
    - MYSQL_DATABASE=drupal
    - MYSQL_USER=drupal
    - MYSQL_PASSWORD=drupal
  volumes:
    - /var/lib/mysql
web:
  image: drupal
  links:
    - db:mysql
  ports:
    - "8080:80"
  volumes:
    - /var/www/html/sites
    - /var/www/private