一、部署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. 杭电oj 多项式求和

    Problem Description 多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...现在请你求出该多项式的前n项的和.   Input 输入数据由2行组 ...

  2. mongoDB日常操作03

    MongoDB中导出csv文件1.找到mongoDB的安装目录,bin目录2.通过控制台进入bin目录  例: cd E:\java\mongoDB\bin\3.测试mongo.exe能否运行  例: ...

  3. CString常用方法简介

    CString常用方法简介 CString::Compare int Compare( LPCTSTR lpsz ) const; 返回值   字符串一样 返回0 小于lpsz  返回-1 大于lps ...

  4. Windows 分层窗口 桌面上透明 Direct3D

    Windows 分层窗口 桌面上透明 Direct3D 1 //IDirect3DSurface9 GetDC UpdateLayeredWindow 2 3 #include <Windows ...

  5. OpenEuler 中C与汇编的混合编程

    2.5.1用汇编代码编程 将C代码编译成汇编代码 C代码: /**********a.c file********/ #include <stdio.h> extern int B(); ...

  6. 20191323王予涵sort

    sort 任务 用man sort 查看sort的帮助文档 sort常用选项有哪些,都有什么功能?提交相关使用的截图 如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用 一.查看帮助文 ...

  7. R语言原生管道绘图

    前言 最近写论文的时候又一次用到了R.这次我是对Java有一定程度了解后再次转向R,才真正认识到R这门语言在统计编程和数据可视化领域的优雅和快速. 首先可以看一段Java的stream代码: redi ...

  8. LeetCode系列之 (JavaScript) => 66. 加一

    题目描述: 解题思路分析: 模拟十进制: 分析有几种情况,按情况来定 不同解法: /** * @param {number[]} digits * @return {number[]} */ // v ...

  9. CvT: Introducing Convolutions to Vision Transformers-首次将Transformer应用于分类任务

    CvT: Introducing Convolutions to Vision Transformers Paper:https://arxiv.org/pdf/2103.15808.pdf Code ...

  10. web后端之连接mysql

    1建立java enterprise项目 2在WEB-INF目录下建立lib目录把jdbc用的mysql-connector-java.jar包复制过来 3添加依赖       4编写class 或在 ...