windows下docker安装php环境(nginx,php,mysql,redis互联)

  • 时间:2025-12-02 21:12 作者: 来源: 阅读:3
  • 扫一扫,手机访问
摘要:宿主机创建映射目录 #MySQL D:DockerContainermysqlconf D:DockerContainermysqldata D:DockerContainermysqllogs #Redis D:DockerContainer edisconf D:DockerContainer edisdata #PHP D:DockerContainerphpconf D:DockerCo

宿主机创建映射目录

#MySQL
D:DockerContainermysqlconf
D:DockerContainermysqldata
D:DockerContainermysqllogs

#Redis
D:DockerContainer
edisconf
D:DockerContainer
edisdata
#PHP
D:DockerContainerphpconf
D:DockerContainerphplogs
#Nginx
D:DockerContainermysqlconf
D:DockerContainermysqldata
D:DockerContainermysqllogs
#项目目录
D:DockerContainerwww

1.安装MySQL

下载镜像

docker pull mysql:latest

创建容器

docker run -itd --name mysql -p 3306:3306 -v D:DockerContainermysql/conf:/etc/mysql/conf.d/  -v D:DockerContainermysql/data:/var/lib/mysql -v D:DockerContainermysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

2.安装Redis

下载镜像

docker search  redis

创建容器

docker run -p 6379:6379 --name redis -v D:/DockerContainer/redis/conf/redis.conf:/etc/redis/redis.conf -v D:/DockerContainer/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

3.安装PHP

下载镜像

docker pull php:7.4-fpm

创建容器

docker run --name  php7.4-fpm -v D:DockerContainerwww:/www -v D:DockerContainerphpconf/php.ini:/usr/local/etc/php/php.ini -v D:DockerContainerphpconf/php-fpm.conf:/usr/local/etc/php-fpm.d/php-fpm.conf --link mysql:mysql --link redis:redis  -d php:7.4-fpm

4.安装Nginx

下载镜像

docker pull nginx:latest

创建测试容器

docker run --name nginx-test -p 8080:80 -d nginx

复制测试容器的配置文件到本地

docker cp nginx-test:/etc/nginx/conf.d/default.conf D:DockerContainer
ginxconf.d/

docker cp nginx-test:/usr/share/nginx/html/index.html D:DockerContainerwww

docker cp nginx-test:/etc/nginx/nginx.conf D:DockerContainer
ginxconf

删除测试容器

 docker stop nginx-test
 docker rm nginx-test

创建新容器

docker run --name nginx -p 8080:80 -v D:DockerContainer
ginxconf:/etc/nginx/conf -v D:DockerContainer
ginxconf.d:/etc/nginx/conf.d -v D:DockerContainer
ginxlogs:/var/log/nginx -v D:DockerContainerwww:/usr/share/nginx/html -d --link php7.4-fpm:php nginx

修改配置文件default.conf

server {
    listen       80;
    server_name  localhost;

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

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ .php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

D:DockerContainerwww目录下创建index.php文件,输出phpinfo();
访问浏览器


windows下docker安装php环境(nginx,php,mysql,redis互联)

5.安装Redis,mysql扩展

#redis扩展
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz

tar xfz /tmp/redis.tar.gz

rm -r /tmp/redis.tar.gz

mkdir -p /usr/src/php/ext

mv phpredis-3.1.3 /usr/src/php/ext/redis

docker-php-ext-install redis

#
docker-php-ext-install pdo_mysql

docker-php-ext-install mysql

docker-php-ext-install mysqli

6.测试
在index.php文件

<?php
$servername = "mysql";
$username = "root";
$password = "root";
// 创建连接
$mysql_conn = new mysqli($servername, $username, $password);
// 检测连接
if ($mysql_conn->connect_error) {
    die("连接失败: " . $mysql_conn->connect_error);
}
echo "mysql 连接成功";
echo "<br>";

$redis=new Redis();
$redis_conn=$redis->connect( redis , 6379 );
if($redis_conn){
   echo "redis 连接成功";
}

?>

windows下docker安装php环境(nginx,php,mysql,redis互联)

  • 全部评论(0)
手机二维码手机访问领取大礼包
返回顶部