nginx加php容器,docker下搭建MySQL+php-fpm+nginx容器环境

准备镜像

我使用的centos系统,docker-ce最新版本。

先准备好三个镜像

docker pull mysql:5.7

docker pull php:5.6-fpm

docker pull nginx:latest

注意,mysql和php不要使用最新版本,坑很多。

6a9b0757f6fadd8452dfd7c2acac2aaa.png

114c22ced5abc3cad40e9b60fbd047ef.png

一、构建mysql容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ziqin666-v /mysql:/var/lib/mysql --name your_mysql mysql:5.7

配置容器(进入容器)

docker exec -it your_mysql bash

进入之后,要对用户进行授权,以便使用远程连接

连接mysql 输入密码:ziqin666 执行如下命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'ziqin666';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ziqin666';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'ziqin666';

FLUSH PRIVILEGES;

feaf55ed6e42db14c6be904b7d736106.png

此时可以使用客户端连接一下看看。(一定要把安全组规则对应端口打开)

13f52c1f5856920276e96a6612a1ff2b.png

二、构建php-fpm容器

准备工作

php.ini 默认是不存在的

在/home/app/phpfile文件夹下创建 php.ini文件和conf.d文件夹

创建容器

命令说明:

--name your_phpfpm : 将容器命名为 your_phpfpm。

-v /home/app/html:/var/www/html : 将主机中项目的目录 /home/app/html 挂载到容器的 /var/www/html

a46cb6443560eda4427d3fd23b47701a.png

安装 pdo 以便后边测试数据库连接,在docker的php容器中可以这样来安装

docker-php-ext-install pdo_mysql

1563acbd7152b7c55c96d524b204dd2a.png

安装其他插件也可以使用这种办法

并加入到php.ini

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_pdo_mysql.dll

extension=php_pdo_odbc.dll

extension=php_pdo.dll

如果插件还不够就需要自己定制镜像

FROM php:7.0.12-fpm

MAINTAINER Tairy

WORKDIR /working

RUN apt-get update --fix-missing && apt-get install -y \

g++ autoconf bash git apt-utils libxml2-dev libcurl3-dev pkg-config \

&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \

&& echo "Asia/Shanghai" > /etc/timezone \

&& docker-php-ext-install iconv curl mbstring \

xml json mcrypt mysqli pdo pdo_mysql zip \

&& docker-php-ext-configure gd \

--with-gd \

--with-freetype-dir=/usr/include/ \

--with-png-dir=/usr/include/ \

--with-jpeg-dir=/usr/include/ \

&& docker-php-ext-install gd \

&& docker-php-ext-enable gd \

&& pecl install /pecl/redis-3.0.0.tgz \

&& docker-php-ext-enable redis \

&& apt-get purge -y --auto-remove \

&& rm -rf /var/cache/apt/* \

&& rm -rf /var/lib/apt/lists/* \

&& rm -rf /pecl

三、安装nginx

配置文件目录:/home/app/nginx/conf.d (注释:没有的文件自主创建哈)

在配置文件目录新建 default.conf

注释:这里遇到了个小问题nginx启动不了,把上面的配置项中的所有tab空格重新换成空格键敲出来的空格,当然你也可以直接复制我上面的,因为它是正确的

创建容器

docker run -p 81:80 --name your_nginx \

-v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值