zoukankan      html  css  js  c++  java
  • Docker 部署lnmp

    环境简介

    主机名 IP地址 系统
    docker_server 192.168.169.20 win10
    docker 的搭建过程这里就不在详细描述了,具体请参照CentOS Docker部署 这篇文章

    部署 lnmp

    下载所需要的镜像 (nginx,mysql 5.6,php 7.0) 版本可自选

    获取 Mysql 5.6 镜像

    docker pull mysql:5.7

    启动容器 cs_mysql

    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name lnmp_mysql mysql:5.6

    参数说明

    -d 让容器在后台运行

    -p 添加主机到容器的端口映射

    -e 设置环境变量,这里设置mysql的root用户的初始密码

    -name 容器的名称、只要求唯一性

    获取php 7.0镜像

    docker pull php:7.0-fpm

    启动php 容器

    docker run -d -v F:dockerdata ginxwwwhtml:/var/www/html -p 9000:9000 --link lnmp_mysql:mysql --name lnmp_php php:7.0-fpm

    参数说明

    -d 让容器在后台运行

    -p 添加主机到容器的端口映射

    -v 添加目录映射,主机上的F:dockerdata ginxwwwhtml映射到容器里面的/var/www/html,如果主机没有这个目录就创建这个目录,或者映射别的目录,但是后面路径要统一

    -name 容器的名字

    -link 容器与另外一个容器建立联系,这样就可以在当前的容器去使用另一个容器里的服务

    测试目录映射
    在主机F:dockerdata ginxwwwhtml 目录下创建php测试页面,会直接映射到容器里面

    docker exec lnmp_php cat /var/www/html/index.php

    //看直接映射到了容器内部了

    php的扩展安装

    安装php-redis

    pecl install redis && docker-php-ext-enable redis

    安装后执行 php -m //查看安装了那些

    php -m

    获取Nginx镜像

    docker pull nginx

    启动Nginx容器

    docker run -d -p 80:80 --name lnmp_nginx -v F:dockerdata ginxwwwhtml:/var/www/html --link lnmp_php:phpfpm nginx

    参数说明

    -d 让容器运行在后台

    -p 添加主机到容器的端口映射

    -v 添加目录映射,这里最好nginx容器的根目录最好写成和php容器中根目录一样。但是不一定非要一样,如果不一样在配置nginx的时候需要注意

    -name 容器的名称

    -link 容器之间建立起来联系

    修改Nginx 的配置文件,使他支持php ,方式有多种,这里我直接拷贝出配置文件修改在导进去即可

    docker cp lnmp_nginx:/etc/nginx/conf.d/default.conf /opt/

    cat default.conf

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /var/www/html;                       // 修改这里默认的路径
            index  index.html index.htmi index.php;     //这里加入添加php的方式
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
        location ~ .php$ {
            root           html;
            fastcgi_pass   92fc30be9a85:9000;        //这里可以用容器ID,也可以用容器IP,都具备唯一性
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;      //修改这里的路径
            include        fastcgi_params;
        }
    }
    

    修改完毕导入配置文件到Nginx 容器里面

    docker cp default.conf lnmp_nginx:/etc/nginx/conf.d/default.conf

    进入到容器里面重新加载配置文件

    docker exec lnmp_nginx nginx -t

    //Nginx检测配置文件是否正确

    docker exec lnmp_nginx nginx -s reload

    在主机中查看所有容器映射的端口

    netstat -ano

    访问浏览器测试
    看到这个页面说明搭建成功了!

    个人博客:cscwdxgg.github.io
    微信公众号:Asz918q
  • 相关阅读:
    04.VUE学习之v-text v-html
    03.VUE学习之动态绑定值
    2019年Vue学习路线图
    02.VUE学习二之数据绑定
    01.VUE学习一
    一张图解析FastAdmin中的表格列表的功能
    python 正则表达式与JSON字符串
    jQuery的select2下拉框的搜索功能(使用select2插件,方便简单)
    笔记1 python入门学习笔记
    MySQL----Navicat使用
  • 原文地址:https://www.cnblogs.com/wdxgg/p/11726276.html
Copyright © 2011-2022 走看看