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架构实战的主要内容,如果未能解决你的问题,请参考以下文章