Docker:wordpress开发沙盒环境

问题描述:

我不使用WP,也不使用PHP。但有时我会被要求看看一个WordPress的网站(我们都已经通过这个...视线)Docker:wordpress开发沙盒环境

而不是安装LAMP或其他任何东西,我宁愿沙箱中的*码头,所以一旦完成,我可以轻松卸载所有内容。

我发现official wordpress docker那种复杂的方法建议的docker-compose方法。

相反,因为它是发展的目的只有,我宁愿有一个码头工人将包含整个PHP + MySQL的配置,根本不必:

  1. 更换DB_NAMEDB_USERDB_PASSWORDDB_HOST in wp-config.php

  2. 导入现有数据库的SQL。例如。 docker run mydocker /bin/mysql-import ~/Desktop/export.sql

  3. docker start mydocker --source ~/Workspace/myproject

请问这种做法是否合理?我能找到什么来实现这个目标吗(如果它还没有完成)?

这将肯定得到改善,但这里是我采取的步骤:

  1. Install Docker如果尚未
  2. 安装Lamp Docker(我会宁愿使用nginx的,而不是Apache的,但反正): docker pull linode/lamp
  3. 运行sudo docker run -p 80:80 -v <local_path_to_site_sources>:/var/www/<sitename> -t -i linode/lamp /bin/bash

在这一步,你已经转发多克的80端口到主机80(这意味着你可以试试http://localhost并且应该得到一个结果),输入到Docker的bash中,其中包含你的源代码/var/www/<sitename>

不幸的是,仍然有一些小的配置,这应该是自动恕我直言。

  1. 运行apt-get update(没有更多的sudo的,你根本没有)
  2. 运行apt-get install php5-mysql(对于一些不幸的原因,包不见了)
  3. 确保路径/var/www/<sitename>/log存在通过运行mkdir -p /var/www/<sitename>/log
  4. 运行nano /etc/apache2/sites-available/<sitename>.conf,内容如下(所有的详细there):

    的ServerAdmin网站管理员@#大概不会必填 ServerAlias#可能不是强制

    #索引文件和文档根(公用文件所在的位置) DirectoryIndex index.html索引。PHP 的DocumentRoot在/ var/WWW/ #日志文件的位置 的LogLevel警告 错误日志/var/www//log/error.log 的CustomLog /var/www//log/access.log结合

  5. 运行a2ensite <sitename>

  6. 数据库需要被导入反正前创建(也许有办法避免这种情况):mysql -u root -p密码:Admin2015的解释here
  7. 运行,有create database <dbname>;然后exit
  8. 导入当前数据(如果存在):mysql -u root -p <dbname> < <dbbackupfile>.sql(请注意,<dbbackupfile>.sql需要在泊坞窗中可用,因此请将<local_path_to_site_sources>放入<local_path_to_site_sources>中。

  9. 更新(从您的主机,而不是搬运工,文件共享)wp-config.php有:

    /**喃德拉基地去最近搜索德的WordPress。 */ define('DB_NAME','');

    /** MySQL的利用率。 */ define('DB_USER','root');

    /** MySQL的基础代码。 */ define('DB_PASSWORD','Admin2015');

    /**地址为MySQL。 */ define('DB_HOST','127.0.0.1');

  10. 运行service apache2 restart; service mysql restart

  11. 去检查http://localhost:annnnnndd DONE!

开始=>