在Docker中编辑源代码

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

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

  • Docker可以封装整个drupal站点,包括已经存在的一些数据的数据库?
  • 如果我从Docker中提取图像,我可以编辑原始的Drupal源代码吗? 怎么样?

Docker可以封装整个drupal站点,包括已经存在的一些数据的数据库?

是。 在指定容器时,使用选项-v $ext_source:$int_source将卷从主机装载到VM。 例:

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

这将挂载两个目录从你本地主机到虚拟机,你只需要点数据库里面的Docker容器来使用挂载的数据。

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

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

泊坞窗,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