Docker 部署LNMP环境

**# LNMP:Linux、Nignx、Mysql、PHP

  1. 下载镜像到本地:
[root@localhost lnmp]# docker pull php:5.6-fpm
[root@localhost lnmp]# docker pull mysql:5.7
[root@localhost lnmp]# docker pull nginx
  1. 创建数据卷(路径:/var/lib/docker/volumes)
 #创建nginx_conf数据卷,映射Nginx配置文件目录
 
[root@localhost lnmp]# docker volume create nginx_conf

#创建www数据卷,映射PHP和Nignx站点目录

[root@localhost lnmp]# docker volume create www

 #创建Mysql数据卷,数据本地持久化
 
[root@localhost lnmp]# docker volume create mysql

  1. 创建相对应的容器
# 创建mysql:5.7的容器并命名mysql5.7,将容器的3306端口映射到主机的3306端口。把数据卷mysql挂载到容器的/var目录。设置root的密码为123456。

[root@localhost lnmp]# docker run -d -p 3306:3306 --name mysql5.7 -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

# 创建php:5.6-fpm的容器并命名php,将容器的9000端口映射到主机的9000端口。把www数据卷挂载到容器的/www目录(这个目录用于存放php脚本文件)

[root@localhost lnmp]# docker run -d -p 9000:9000 --name php -v www:/var/www/html --link mysql:mysql php:5.6-fpm

# 创建nginx的容器并命名nginx,将容器的80端口映射到主机的80端口。把nginx_conf数据卷挂载到容器的/etc/nginx/conf.d目录;www数据卷挂载到容器的/usr/share/nginx/html目录。

[root@localhost lnmp]# docker run -d -p 80:80 --name nginx -v nginx_conf:/etc/nginx/conf.d -v www:/usr/share/nginx/html --link php:php nginx
  1. 进入php容器,增加mysql模块
[root@localhost lnmp]# docker exec -it php /bin/bash
root@969c6cc20f35:/var/www/html#  docker-php-ext-install mysql
root@969c6cc20f35:/var/www/html# php -m | grep mysql #查看是否安装成功
#Ctrl + D 推出容器,重启php
[root@localhost lnmp]# docker stop php
[root@localhost lnmp]# docker start php
  1. 修改配置文件 default.conf
[root@localhost lnmp]# vi /var/lib/docker/volumes/nginx_conf/_data/default.conf
location ~ \.php$ {        
        fastcgi_pass   php:9000; #这里的php为--link 连接php的名
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
        include        fastcgi_params;
    }
  1. 重启Nginx服务器
[root@localhost lnmp]# docker stop nginx
[root@localhost lnmp]# docker start nginx

完成**

你可能感兴趣的:(Docker,Docker,LNMP)