Docker:wordpress开发沙盒环境
我不使用WP,也不使用PHP。但有时我会被要求看看一个WordPress的网站(我们都已经通过这个...视线)Docker:wordpress开发沙盒环境
而不是安装LAMP或其他任何东西,我宁愿沙箱中的狗屎码头,所以一旦完成,我可以轻松卸载所有内容。
我发现official wordpress docker那种复杂的方法建议的docker-compose
方法。
相反,因为它是发展的目的只有,我宁愿有一个码头工人将包含整个PHP + MySQL的配置,根本不必:
更换
DB_NAME
,DB_USER
,DB_PASSWORD
和DB_HOST
inwp-config.php
导入现有数据库的SQL。例如。
docker run mydocker /bin/mysql-import ~/Desktop/export.sql
docker start mydocker --source ~/Workspace/myproject
请问这种做法是否合理?我能找到什么来实现这个目标吗(如果它还没有完成)?
这将肯定得到改善,但这里是我采取的步骤:
- Install Docker如果尚未
- 安装Lamp Docker(我会宁愿使用nginx的,而不是Apache的,但反正):
docker pull linode/lamp
- 运行
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>
。
不幸的是,仍然有一些小的配置,这应该是自动恕我直言。
- 运行
apt-get update
(没有更多的sudo的,你根本没有) - 运行
apt-get install php5-mysql
(对于一些不幸的原因,包不见了) - 确保路径
/var/www/<sitename>/log
存在通过运行mkdir -p /var/www/<sitename>/log
-
运行
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结合
运行
a2ensite <sitename>
- 数据库需要被导入反正前创建(也许有办法避免这种情况):
mysql -u root -p
密码:Admin2015
的解释here - 运行,有
create database <dbname>;
然后exit
导入当前数据(如果存在):
mysql -u root -p <dbname> < <dbbackupfile>.sql
(请注意,<dbbackupfile>.sql
需要在泊坞窗中可用,因此请将<local_path_to_site_sources>
放入<local_path_to_site_sources>
中。-
更新(从您的主机,而不是搬运工,文件共享)
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');
运行
service apache2 restart; service mysql restart
去检查http://localhost:annnnnndd DONE!