docker数据库文件持久化
mkdir ~/web_data
docker run -p 33060 : 3306 -e mysqld -e MYSQL_ROOT_PASSWORD =admin -v ~/web_data/ :/var/lib/mysql --name mysql_server -it mysql /bin/bash
The -v /my/own/datadir:/var/lib/mysql part of the command mounts the /my/own/datadir directory from the underlying host system as /var/lib/mysql inside the container, where MySQL by default will write its data files.
参数说明:
-p 33060:3306:将容器的33060端口映射到主机的3306端口;
-v ~/web_data/:/var/lib/mysql:将主机当前目录下挂载到容器目录;
-e MYSQL_ROOT_PASSWORD=admin:初始化root用户的密码;
--name mysql_server 给容器命名;
官方文档:/mysql/”>https://hub.docker.com//mysql/
service mysql start
mysql -h host_ip -u root -p
mysql -uroot -p
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'web_user' @'%' IDENTIFIED BY 'admin' WITH GRANT OPTION ;
flush privileges;
use mysql;
select host, user from user ;
退出数据库,以远程用户创建数据库或者导入数据库文件:
create database thinkcmf.sql ;
use thinkcmf;
source /var/lib/mysql/thinkcmf.sql;
docker的web客户端配置
docker run -p 800 :80 -v ~/epcc:/var /www/example. com/public_html -- link = mysql_server:mysql_server -- name= web_client -t -i linode/lamp /bin/bash
env
如果有输出以 MYSQL_SERVER_ 作为前缀的变量,则成功
apt-get update
apt-get install php5-mysql
apt-get install php5-gd
service apache2 start
开启url转发
将/etc/apache2/apache2.conf 文件中所有的AllowOverride None改为AllowOverride All并保存
在项目根目录下添加.htaccess文件,修改rewrite规则,也就是thinkphp下的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
-linux 系统还需要一步
sudo a2enmod rewrite
service apache2 restart