前面安装docker的过程就不提了
1.创建目录
mkdir -p /lnmp/{php,nginx,mysql,redis}
mkdir -p /lnmp/mysql/{conf,data} mkdir -p /lnmp/nginx/conf.d
2.生成mysql容器
docker run --name mysql56 -v /lnmp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 -d mysql:5.6
3.生成phpmyadmin容器
docker run --name phpmyadmin56 --link mysql56:db -p 9998:80 -d phpmyadmin/phpmyadmin
4.生成php容器
docker run -d -v /lnmp/php/:/var/www/html -p 9001:9000 --link mysql56:mysql --name php70 php:7.0-fpm
5.php安装扩展
进入容器
docker exec -it php70 /bin/bash
安装mysqli扩展和pdo扩展,执行
docker-php-ext-install mysqli pdo pdo_mysql
安装php-redis扩展,执行
pecl install redis && docker-php-ext-enable redis
一路no!!!
退出容器,重启容器
6.生成nginx容器
docker run -d --name nginx -p 666:80 -v /lnmp/php/:/var/www/html -v /lnmp/nginx/conf.d:/etc/nginx/conf.d --link php70:php70 nginx
7.修改nginx的config文件,放在/lnmp/nginx/conf.d目录下
server { listen 80;#nginx容器端口 server_name localhost; index admin.html admin.htm admin.php; root /var/www/html/ht/public/;#nginx容器里面的路径 charset utf-8; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; location / { index admin.php admin.html admin.htm; #以下代码必须有 if (!-e $request_filename) { rewrite ^(.*)$ /admin.php?s=$1 last; break; } } access_log off; location ~ \.php(.*)$ { root /var/www/html/ht/public/;#nginx容器里面的路径 fastcgi_pass php70:9000;#php容器名称和对应端口 fastcgi_index admin.php; fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name; fastcgi_param PATH_INFO $1; include fastcgi_params; } }
8.生成redis容器
docker run -itd --name redis -p 6380:6379 redis
9.php代码连接redis
10.php代码连接mysql
11.查看容器
12.mysql容器如何导入大文件sql
将本地的sql文件导入容器
先进入mysql容器,在home下创建tmp目录,然后退出容器
把宿主机的sql文件copy到容器目录
docker cp /opt/a.sql mysql:/home/tmp/
进入mysql容器,登陆接连mysql
登入容器并登陆mysql
docker exec -it mysql56 mysql -uroot -p123456
执行sql文件
source /home/tmp/a.sql