一、部署lnmp

1.网络规划

172.16.10.0/24
nginx:172.16.10.10
mysql:172.16.10.20
php:172.16.10.30
网站访问主目录:/wwwroot
nginx的配置文件:/docker
mysql持久化的目录:/mysql

2.docker运行nginx服务,拷贝出所需文件后删除

[root@docker ~]# mkdir /docker
[root@docker ~]# mkdir /wwwroot
[root@docker ~]# docker run -itd --name test nginx
[root@docker ~]# docker cp test:/etc/nginx /docker/
[root@docker ~]# docker cp test:/usr/share/nginx/html /wwwroot/
[root@docker ~]# docker rm -f test

3.创建自定义网络

[root@docker ~]# docker network create -d bridge --subnet 172.16.10.0/24 --gateway 172.16.10.1 lnmp

4.运行nginx容器

[root@docker ~]# docker run -itd --name nginx -p 80:80 -v /wwwroot/html:/usr/share/nginx/html -v /docker/nginx:/etc/nginx --network lnmp --ip 172.16.10.10 nginx

5.运行mysql容器

[root@docker html]# docker pull mysql:5.7
[root@docker html]# docker run -itd --name test -e MYSQL_ROOT_PASSWORD=fbn123 mysql:5.7
[root@docker html]# docker exec -it test bash
root@d46a7cc8407f:/# mysql -uroot -pfbn123
mysql> show databases;
mysql> create database test;
mysql> show databases;
mysql> exit
root@d46a7cc8407f:/# cd /var/lib/mysql
root@d46a7cc8407f:/var/lib/mysql# ls
root@d46a7cc8407f:/var/lib/mysql# exit
[root@docker html]# docker cp test:/var/lib/mysql /
[root@docker html]# ls /mysql/
[root@docker html]# docker run -itd --name mysql -p 3306:3306 -v /mysql:/var/lib/mysql --network lnmp --ip 172.16.10.20 mysql:5.7
[root@docker html]# yum -y install mariadb
[root@docker html]# mysql -uroot -pfbn123 -h 127.0.0.1

6.运行php容器

[root@docker ~]# docker run -itd --name php-fpm -p 9000:9000 -v /wwwroot/html:/usr/share/nginx/html --network lnmp --ip 172.16.10.30 php:7.2-fpm

二、测试nginx和php连接

1.编写nginx配置文件

[root@docker ~]# cd /docker/nginx/conf.d
[root@docker conf.d]# vim default.conf
  location / {
      root   /usr/share/nginx/html;
      index index.html index.htm index.php;
location ~ \.php$ {
  root         /usr/share/nginx/html;
  fastcgi_pass   172.16.10.30:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include       fastcgi_params;
}

2.浏览器验证nginx服务和php服务

(1)添加nginx静态的测试界面

[root@docker ~]# cd /wwwroot/html/
[root@docker html]# echo 123 > index.html
[root@docker html]# curl 127.0.0.1

(2)添加php测试界面

[root@docker html]# vim index.php
<?php
phpinfo();
?>
[root@docker html]# docker restart nginx

访问测试

http://192.168.229.187
http://192.168.229.187/index.php

补充

部署动态站点需要赋予目录足够权限,推荐 chmod -R 777 /wwwroot/html/*

docker部署的php容器需要 安装扩展
docker exec  -it php-fpm  bash    #1、进入php容器内部
docker-php-ext-install mysqli  #2、安装php所需扩展

Docker下部署LNMP黄金架构的更多相关文章

  1. 设想 Docker 下部署 KVM

    设想 Docker 下部署 KVM 一.安装 $ yum -y install kvm # kvm base , must $ yum -y install libvirt -y # libvirtd ...

  2. 在Docker下部署Nginx

    在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...

  3. 使用Docker 一键部署 LNMP+Redis 环境

    使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linu ...

  4. Docker Compose部署lnmp

    参考:https://github.com/micooz/docker-lnmp 一.简介 使用Dcoekr镜像部署lnmp(Linux.Nginx.MySQL.PHP7). 1.1 结构 app └ ...

  5. centos7搭建docker并部署lnmp (转)

      1.首先呢先更新yum源 yum -y update 2.1.安装docker存储库 yum install -y yum-utils \ device-mapper-persistent-dat ...

  6. Docker下部署springboot项目

    1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...

  7. docker下部署spring boot

    第 5 章 Docker + Spring Boot: 快速搭建和部署Java Web应用 0.你需要: JDK 1.8 : java -version Maven 3.0+ : mvn -v Git ...

  8. Docker 下部署hadoop集群

    一.主机规划 3台主机:1个master.2个slaver/worker ip地址使用docker默认的分配地址: master: 主机名: hadoop2.ip地址: 172.17.0.2 slav ...

  9. 记离线部署docker,以及docker下部署zabbix

    一.离线安装docker 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 上传软件并解压 [root@localhost op ...

  10. docker下部署gitlab

    docker用来隔离应用还是很方便的,一来本身的操作较为简单,二来资源占用也比虚拟机要小得多,三来也较为安全,因为像数据库这样的应用不会再全局暴露端口,同时应用间的通信通过加密和端口转发,更加安全. ...

随机推荐

  1. Qt的QString转换问题

    之前是写C#的,涉及类型转换要么是强转,类似(String)这样,要么是用Converter提供的转换方法,但是今天开发qt界面的时候,使用(QString)强转int类型的时候出现了乱码: 后来研究 ...

  2. 【Java】zuul

    报错 com.netflix.zuul.exception.ZuulException: Hystrix Readed time out 解决办法,zuul模块的yml配置文件增加 ribbon: C ...

  3. javascript向tabale中动态添加数据

    <table width="600" border="1" cellspacing="0"> <thead> < ...

  4. <小李飞刀>系列 随笔

    1.多情剑客无情剑 古龙的作品在电视上只看过电影版的陆小凤传奇,对古龙的作品也没有过系统的了解,初读时听到了李寻欢的名字,突然感觉可惜.觉得如此早就读到这种级别的小说有些暴殄天物,不过也算是以白纸状态 ...

  5. 编译configure常用参数详解

    ./configure常用参数解释: 具体通过–help来查看具体支持什么功能.有时候编译不通过,可能依赖一些库,如果这些库关联的功能我们不需要,可以通过---disable-*lib来取消相关库的编 ...

  6. Windows+svn +Jenkins+发布NetCore/VUE项目

    1. NetCore环境下载,注意是下载SDK,不是Runtime:https://dotnet.microsoft.com/download/dotnet-core?utm_source=getdo ...

  7. 【已解决】xlwings库合并单元格,不报错,不执行

    源代码如下: import xlwings as xw app = xw.App(visible=True, add_book=False) app.display_alerts = False ap ...

  8. Derivative of the Sigmoid function

    一个详细介绍怎么推导Derivative of the Sigmoid function的文章- https://towardsdatascience.com/derivative-of-the-si ...

  9. Spring RedisTemplate源码解读

    RedisTemplate类位于项目spring-data-redis-xxx的包org.springframework.data.redis.core下,是我们在Spring框架下操作Redis数据 ...

  10. 无线电(手台、APRS)

    泉胜手台操作:(TG-UV2)----------------------------------------------- MR/VFO: 频率模式指示F:信道模式指示M F+MAIN: 主副频转换 ...