Vagrant + Docker + WordPress

我在Mac上安装了stream浪汉,我想实现这一点:

  1. 发射stream浪汉,并与docker安装和泊坞窗组成的stream浪汉
  2. 用docker在这个stream浪机里面用mysql安装wordpress-up
  3. 将docker容器的文件夹(/ var / www / html)映射为我的stream浪机器中的卷/ dockermapinVagrant
  4. 将此/ dockermapinVagrant放入我的主机(OS X),并能够直接从主机修改文件

我实现了这一切,一切正常。 我可以从我的OS X主机添加模板没有问题(在我的主机OS X上的主题文件夹中拖动主题),使用我的浏览器直接查看Wordpress网站的更改…

问题

  • 我注意到,我不能在Wordpress上安装任何插件(仪表板 – >更新)我有一个消息:
    • 要执行请求的操作,WordPress需要访问您的Web服务器。 请input您的FTP凭证继续。 如果你不记得你的凭据,你应该联系你的虚拟主机。

我试过解决scheme

通过将用户设置为www-data和chmod来更改docker容器wp中的许可权为777,但是在某个文件夹中将其作为wp-content不会更改为777.此外,将所有者设置为www-data完全不起作用它始终保持在1000:1000的容器中。

有没有办法在没有FTP的docker容器中的WordPress的更新插件?

有没有更好的办法呢? 使用FTP访问已安装卷的stream量计算机上的数据专用容器? 然后将stream量计上的数据容器卷映射到主机上以直接访问并在开发过程中直接看到变化。 但是我不想直接在仅限数据的容器上访问FTP(FTP不安全,我更愿意直接pipe理备份和来自stream浪机器的数据,并删除生产中的映射卷)

你当然可以做到这一点,这可能只是缺less的一行

define( 'FS_METHOD', 'direct' ); 

在你的wp-config文件中。 你应该设置docker环境以外的每个WordPress首先恕我直言; 然后将数据库和WordPress文件等导入到Dockerfile作为登台和部署的一部分,这应该与开发不同(虽然部分部署将被共享)。

在更好的pipe理方式上,如果可能的话,我不会把docker工人置于stream浪的境地。 这给发展阶段增加了不必要的复杂性。 我会专门使用stream浪汉,专注于准备我的configuration脚本(因为我使用stream浪汉和docker工之间的脚本),并通过SFTP直接工作到stream浪者箱; 通过git提交更改。 然后,您可以将精力集中在必要的代码上,并在需要时提取所需的代码。

一旦达到testing阶段或分期阶段,我就使用预configuration脚本来帮助我一致地构build我的docker环境(可能共享部分configuration代码)。 然后,我可以从我的回购拉特定版本,并将其构build到我可以部署的泊坞窗图像。

其他的select,如果你真的想旋转起来,删除WordPress,掌握WP-CLI命令行工具 ,它可以安装WordPress,插件,pipe理更新和安装完整性。