docker的LNMP架构实战

Posted liyuanshu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker的LNMP架构实战相关的知识,希望对你有一定的参考价值。

本次操作在Ubuntu18系统下操作,如在Centos系统下安装,命令可能会有区别,但是原理相同

前置条件:已经安装好docker,配置好yum源并且运行。

1.获取Mysql镜像并启动:

root@test:/etc/apt# docker pull mysql:5.7

## -d,--detach=false,指定容器运行在前台或者后台,默认问false

## -p,系统与docker之间做端口映射

## -e,--env=[],指定系统变量,让容器可以使用该环境变量

root@test:/etc/apt# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name test_mysql mysql:5.7

2.获取php7.2镜像并启动:

root@test:/etc/apt# docker pull php:7.1-fpm

## -v:把系统目录挂载到容器中

##--link=[],指定容器之间的关联,使用其他容器的ip,env等信息

root@test:/etc/apt# docker run -d -v /var/www/html/:/var/www/html -p 9000:9000 --link test_mysql:mysql --name test_php php:7.1-fpm

2.1、测试php:

root@test:~# docker exec -it test_php /bin/bash

## 容器默认不安装vim命令,需自行安装:

root@ed987250e89f:/var/www/html# apt-get update 

root@ed987250e89f:/var/www/html# apt-get install vim

###编辑php测试程序,退出容器到系统目录下查看文件是否同步,同步即为成功:

技术图片

安装扩展模块:

root@ed987250e89f:/var/www/html# docker-php-ext-install pdo_mysql

技术图片

 

 4.获取nginx:1.12镜像并启动

root@test:~# docker pull nginx:1.12.2

root@test:~# docker run -d -p 80:80 --name test_nginx -v /var/www/html/:/var/www/html --link test_php:phpfpm nginx:1.12.2

更加需求修改配置文件,该项目主要修改两个地方,nginx的默认访问目录和phpfpm的代理解析配置:

root@test:~# docker exec -it test_nginx /bin/bash
root@7c138d972c77:/# cd /etc/nginx/conf.d/

root@7c138d972c77:/etc/nginx/conf.d# vim default.conf 

技术图片

 技术图片

 ##重载nginx

root@7c138d972c77:/etc/nginx/conf.d# nginx -s reload

 4.测试:

技术图片

 

 在系统的/var/www/html下编写好代码文件:

技术图片

 

 

 在浏览器下可成功访问:

技术图片

 技术图片

 

 

注:本章节mysql容器虽然已经启动,但是还未使用到数据库,让php连接到数据库实现管理,在下一篇博客记录

 

以上是关于docker的LNMP架构实战的主要内容,如果未能解决你的问题,请参考以下文章

LNMP架构搭建Discuz论坛(实战!)

使用Docker容器搭建LNMP架构

LNMP架构之Discuz论坛(实战!!)

LNMP架构应用实战——Nginx服务配置文件介绍

LNMP架构应用实战——Nginx服务配置文件介绍

linux入门系列20--Web服务之LNMP架构实战