美文网首页
windows下docker安装php环境(nginx,php,

windows下docker安装php环境(nginx,php,

作者: 史史小子 | 来源:发表于2021-07-03 14:30 被阅读0次

宿主机创建映射目录

#MySQL
D:\DockerContainer\mysql\conf
D:\DockerContainer\mysql\data
D:\DockerContainer\mysql\logs

#Redis
D:\DockerContainer\redis\conf
D:\DockerContainer\redis\data
#PHP
D:\DockerContainer\php\conf
D:\DockerContainer\php\logs
#Nginx
D:\DockerContainer\mysql\conf
D:\DockerContainer\mysql\data
D:\DockerContainer\mysql\logs
#项目目录
D:\DockerContainer\www

1.安装MySQL

下载镜像

docker pull mysql:latest

创建容器

docker run -itd --name mysql -p 3306:3306 -v D:\DockerContainer\mysql/conf:/etc/mysql/conf.d/  -v D:\DockerContainer\mysql/data:/var/lib/mysql -v D:\DockerContainer\mysql/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:\DockerContainer\www:/www -v D:\DockerContainer\php\conf/php.ini:/usr/local/etc/php/php.ini -v D:\DockerContainer\php\conf/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\nginx\conf.d/

docker cp nginx-test:/usr/share/nginx/html/index.html D:\DockerContainer\www

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

删除测试容器

 docker stop nginx-test
 docker rm nginx-test

创建新容器

docker run --name nginx -p 8080:80 -v D:\DockerContainer\nginx\conf:/etc/nginx/conf -v D:\DockerContainer\nginx\conf.d:/etc/nginx/conf.d -v D:\DockerContainer\nginx\logs:/var/log/nginx -v D:\DockerContainer\www:/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:\DockerContainer\www目录下创建index.php文件,输出phpinfo();
访问浏览器


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,

      本文链接:https://www.haomeiwen.com/subject/fkwtyltx.html