系统:centos7

使用root账户

开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

安装docker

yum install docker -y

安装docker-compose

yum install epel-release -y

yum install -y python-pip

pip install --upgrade pip  //更新pip

pip install -U docker-compose

部署nginx+php+mysql

开启docker


systemctl start docker

cd /home

mkdir www //网站目录

mkdir conf //配置文件

mkdir app //下载的应用

//拉取官方镜像

docker pull nginx:1.12.0

docker pull php:5.4-fpm

docker pull mysql:5.6

//下载到/home/app

去php官网下载php5.4.45

nginx官网下载nginx1.12.0

phpmyadmin官网下载phpmyadmin找php对应版本

都下载完并解压完成后,进入php文件

cp php.ini-development /home/conf/php.ini

进入nginx文件

cp conf/nginx.conf /home/conf/nginx.conf

cd /home/conf

vi nginx.conf

location / {
root /usr/share/nginx/html;
index index.html index.php index.htm;
}

location ~ \.php {//去除$
root /var/www/html;
fastcgi_pass fpm:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;  //nginx添加path_info支持
fastcgi_param PATH_INFO $fastcgi_path_info;//nginx添加path_info支持
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

cd /home/app

复制phpmyadmin解压出来的文件到/home/www并改名为phpmyadmin  

//编写docker-compose

cd /home

docker images //查看镜像id

vi docker-compose.yml

version: '2'
services:

php:

image: php镜像id

ports:

- 9000:9000

volumes:

- /home/www:/var/www/html

- /home/conf/php.ini:/usr/local/etc/php/php.ini

links:
       - mysql
   privileged: true

nginx:
   image: nginx镜像id
   ports:
       - 80:80
   volumes:
       - /home/www:/usr/share/nginx/html
       - /home/conf/nginx.conf:/etc/nginx/nginx.conf
   links:
       - php:fpm
   privileged: true

mysql:
   image: mysql镜像id
   ports:
      - 3306:3306
   volumes:
      - /home/data:/var/lib/mysql
   environment:
      - MYSQL_ROOT_PASSWORD=123
   privileged: true

docker-compose编写完成后

执行

docker-compose up -d  //使容器后台运行

docker exec -it home_mysql_1 bash  //进入mysql容器

mysql -u -root -p

密码:123

执行 status

查看 UNIX socket地址并复制

执行use mysql

update user set Host = '%' where User = 'root';

flush privileges;

完成后两次ctrl+d

退出容器

cd /home/conf

vi php.ini

搜索

mysql.default

mysqli.default

pdo_mysql.default

等号后加上复制出来的UNIX socket地址

cd /home

docker-compose restart

cd www

vi index.php

<?php

  phpinfo();

?>

查看php信息

cd phpmyadmin

vi config.sample.inc.php

$cfg['Servers'][$i]['host'] = 'mysql';

退出后config.sample.inc.php改名为config.inc.php

从外部访问 http://ip地址/phpmyadmin/index.php登录mysql成功后即可完成


转载于:https://www.cnblogs.com/ylqs/p/6902980.html

docker 部署 nginx+php+mysql相关推荐

  1. Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

    使用Dokcer可以很好的对镜像进行管理,创建和使用容器.这篇博客将简单介绍一下如何使用Docker来安装Tomcat.Mysql和Nginx文件服务器.相关阅读: Docker(一):Docker的 ...

  2. docker nginx tomcat mysql_使用docker部署nginx+tomcat架构(2):访问mysql数据库

    上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...

  3. Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

    本文给大家分享的是作者基于Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress的详细过程,非常的全面,有需要的小伙伴可以参考下 Docker基于LXC实现了把软件封装到一个完 ...

  4. docker初体验:docker部署nginx负载均衡集群

    Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx负载均衡集群 环境 ce ...

  5. docker初体验:docker部署nginx服务

    Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx 环境 centos7 ...

  6. docker部署nginx并且挂载文件夹和文件

    docker部署nginx并且挂载文件夹和文件 2018年05月30日 10:18:32 丢你刘某 阅读数:2315 这段时间在研究docker,在部署nginx时遇到了坑,最主要的问题是在挂载文件和 ...

  7. 在用docker部署nginx时,出现curl: (6) Could not resolve host: localhsot; 未知的错误

    在用docker部署nginx时,出现错误 问题一 问题 分析 解决 问题二 问题 分析 解决 问题一 问题 使用curl www.baidu.com命令出现 curl: (6) Could not ...

  8. 使用docker部署nginx搭建简单的idea-2019 jrebel插件激活服务器

    使用docker部署nginx搭建简单的idea-2019 jrebel插件激活服务器 前言 之前用的jrebel激活方式一直都是用的 *lanyus* 大神的 [jrebel激活](http://i ...

  9. mysql sail_再谈docker搭建nginx+php+mysql开发环境 | Sail

    写在前面 前几天我写了一篇博客docker搭建nginx+php+mysql开发环境.当时主要是参考一片博文搭建记录的. 可是这样搭建出来是有一些问题的,具体的原因我还没找出.当然那篇文章还是有一些参 ...

最新文章

  1. java中的@Override是否需要
  2. LeetCode 957. N 天后的牢房(查找循环节)
  3. word文字中的数字怎么自动变化_【天华学术】不会为毕业论文“美颜”,怎么办?...
  4. U-Time巡回完美收官 演讲嘉宾干货分享:数据篇
  5. 零基础入门微信小程序开发
  6. layoutit+Bootstrap html页面布局+CSS
  7. Wireshark实验 - DNS
  8. C# - 音乐小闹钟_BetaV1.0
  9. Ciphertext-Policy Attribute-Based Encryption (CP-ABE) Toolkit Installation
  10. 个人网站如何转型为商业网站
  11. 手把手教你免费、批量转换HEIC图片到JPG
  12. php 公众号发表文章,微信公众号如何发布文章(一套完整的流程)
  13. IOS端微信小程序API播放视频无效,应该这样做
  14. rn_xtcxyczjh-1 功能 封装 通用 回调
  15. 硬件设计38之什么是MCASP?
  16. html日期格式化引用fmt报错
  17. 分布式和大数据有什么区别?
  18. 【元胞自动机】元胞自动机交通流仿真【含Matlab源码 827期】
  19. springboot社工服务中心管理信息系统 毕业设计-附源码021009
  20. 判断扫码的是支付宝 还是 微信(亲测有效)

热门文章

  1. linux learning site
  2. 风暴数码论坛教程--apk和odex的介绍和合并
  3. CF232C Doe Graphs
  4. [文章存档]Kudu 的 Debug Console 窗口如何查看更多文件
  5. bzoj3514(LCT+主席树)
  6. 一句话实现Mysql查询结果带行号
  7. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
  8. Hyper-V虚拟机win7网络红叉,无法上网解决方法
  9. windows下nginx+tomcat分布式集群部署
  10. 【计算几何】多边形交集