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.conf


server {
  listen  80 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;
   include  fastcgi_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 cp  mymysql:/etc/mysq/conf.d /var/www/mysql/conf.d


docker stop mymysql
docker rm mymysql
docker 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

登录


至此,小环境搭成,在根据个人需求改善。

今天刚弄了一下,不足之处还请指出。


猜你喜欢

转载自blog.51cto.com/jinchen/2335215