docker 配置 lnmp 开发环境
1.先下载用的镜像docker pull php:7-fpm (后面的tag号可在https://hub.docker.com/查询,选择合适的版本,不写则选择最新版本)
docker pull nginx
docker pull mysql
2.准备本地目录和配置
根据个人习惯创建常用目录
/var/www下创建
logs/
mysql/conf.d/
nginx/conf.d/
sites/ 在nginx/conf.d/下创建default.conf文件
touch default.conf
vim default.confserver {
listen80 default_server;
server_name _;
root /usr/share/nginx/html;
location / {
index index.html index.htm index.php;
autoindex off;
}
location ~ \.php(.*)$ {
root /var/www/html/;
fastcgi_pass 172.17.0.2:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
includefastcgi_params;
}
} 3.创建php容器
docker run -p 9000:9000 --name myphp \
-v /var/www/sites/:/var/www/html/ \
--privileged=true \
-d php:7-fpm docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp
执行上面的命令会显示出php容器的ip地址,例如:
172.17.0.2 把ip地址替换掉default.conf中的ip
fastcgi_pass 172.17.0.2:9000; 重启php容器
docker restart myphp 4.创建nginx容器
docker run -p 80:80 --name mynginx \
-v /var/www/sites:/usr/share/nginx/html \
-v /var/www/nginx/conf.d:/etc/nginx/conf.d \
--privileged=true \
-d nginx 5.创建mysql容器
docker run \
-d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123 \
--privileged=true \
--name mymysql mysql mysql默认密码123
拷一份mysql配置目录到本地
docker cpmymysql:/etc/mysq/conf.d /var/www/mysql/conf.ddocker stop mymysql
docker rm mymysqldocker run \
-d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123 \
-v /var/www/mysql/conf.d:/etc/mysql/conf.d \
--privileged=true \
--name mymysql mysql 在本地服务器/var/www/sites 下创建index.php
phpinfo();
访问服务器ip,就可以看见信息了,
6.phpmyadmin
下载phpmyadmin
cd /var/www/sites
curl -O https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.zip
下载完解压 unzip xxxxx.zip
登录到php容器 安装mysql的一些扩展
docker exec -it myphp /bin/bash
cd /usr/local/bin
./docker-php-ext-install mysql
./docker-php-ext-install mysqli
./docker-php-ext-install pdo_mysql
exit
docker restart myphp
然后访问 http://xxxxx/phpmyadmin
登录
至此,小环境搭成,在根据个人需求改善。
今天刚弄了一下,不足之处还请指出。
页:
[1]