Docker 安装mysql + nginx + php

Docker 部署Nginx+Php+Mysql

本文利用自定义网络方式连接,而非使用–link指向host地址方式

# 安装php7-fpm镜像
docker pull php:7-fpm

# 安装Nginx最新版
docker pull nginx

# 安装Mysql 5.7
docker pull mysql:5.7

# 查看已安装镜像
[root@iZwzZ ~]# docker images
REPOSITORY   TAG                IMAGE ID       CREATED         SIZE
nginx        latest             08b152afcfae   2 weeks ago     133MB
mysql        5.7                8cf625070931   2 weeks ago     448MB
php          7.2                9f290ac43498   7 months ago    398M

# 创建自定义网络 lnmp
[root@iZwz ~]#docker network create lnmp --subnet 172.37.0.0/16 --gateway 172.0.0.1
e70f8ee037147b6d96a864dd8902de1622b3696a838873e1abd1263d0feea589

# 查看网络列表 自定义网络lnmp在其中
[root@iZwz ~]# docker network ls 
NETWORK ID     NAME      DRIVER    SCOPE
e9e08741ccb4   bridge    bridge    local
6c37b27bd514   host      host      local
4c1532fdf136   lnmp      bridge    local
9c3112e80c5c   none      null      local

# 运行php 
[root@iZwz conf.d]# docker run --name php-fpm -v /home/nginx/www:/var/www/html --net lnmp -d -p 9000:9000 php:7-fpm

# 运行nginx
[root@iZwz conf.d]# docker run --name nginx -p 8080:80 -d  -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/conf/conf.d:/etc/nginx/conf.d --net lnmp nginx

# 在挂载出来的目录 home/nginx/conf/conf.d 新建一个配置文件 test.conf
[root@iZwz conf.d]# vim test.conf 
# 内容如下
[root@iZwz conf.d]# cat test.conf  
server {
    listen 80;
    server_name localhost;
    #此处填写nginx上的代码路径
    root /usr/share/nginx/html;

    index index.html index.htm index.php;
    charset utf-8;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page 404 /index.php;

    location ~ \.php$ {
        # 此处填写php-fpm代码路径
        root /var/www/html;
        fastcgi_pass   php-fpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}


# 在挂载目录/home/nginx/www下创建index.php文件
[root@iZwz www]# vim index.php

# 内容如下
[root@iZwz www]# cat index.php
<?php
echo phpinfo();

?>

# 验证 打开ip:8080/index.php

# 安装 myql5.7
docker pull mysql:5.7

# 运行mysql5.7 并挂载相关目录
docker run -d --name mysql5.7 -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
# 参数说明
-d   # 后台运行
-v   # 挂载目录 格式: 主机目录:容器目录
-p   # 暴露端口  外网端口:容器端口
-e   # env 即配置mysql初始化参数

# mysql连接测试 使用navicat 连接测试

结果图:

在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置 PHP 环境、NginxMySQL 和 Redis,你按照以下步骤进行操作: 1. 首,安装 DockerDocker Compose(如果尚未安)。 2. 创建一个新的目录,用于存放你的文件和配置文件。 在该目录下一个 `docker-compose.yml` 文件将以下内容复制到文件中: yaml version: '3' services: nginx: image: nginx:latest : - 80:80 volumes - ./nginx.conf://nginx/nginx.conf ./public:/var/www/html depends_on: - php php: image: php:latest volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./public:/var/www/html mysql: image: mysql:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_mysql_root_password - MYSQL_DATABASE=your_mysql_database - MYSQL_USER=your_mysql_user - MYSQL_PASSWORD=your_mysql_password volumes: - ./mysql:/var/lib/mysql redis: image: redis:latest ports: - 6379:6379 volumes: - ./redis:/data ``` 4. 创建一个 `nginx.conf` 文件,并将以下内容复制到文件中。你可以根据需要进行修改。 ```nginx events {} http { server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } ``` 5. 创建一个 `php.ini` 文件,并根据需要进行修改。 6. 创建一个 `public` 文件夹用于存放你的 PHP 项目文件。 7. 运行以下命令启动 Docker 容器: ```shell docker-compose up -d ``` 这将会启动 NginxPHPMySQL 和 Redis 容器。 现在,你已经成功配置了 PHP 环境、NginxMySQL 和 Redis。你可以将你的 PHP 项目文件放在 `public` 文件夹中,然后通过访问 `http://localhost` 来访问你的应用程序。请确保修改 `mysql` 服务中的环境变量,设置你自己的 MySQL 根密码、数据库名称、用户名和密码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值