创建 docker-compose.yml
我是在Window环境下创建的。
在E盘docker文件夹下创建docker-compose.yml
文件,内容如下:
version: '3'
services:
mysql:
restart: always
image: mysql
container_name: mysql
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: noway
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
volumes:
- e:/docker/mysql:/var/lib/mysql
ports:
- 3306:3306
php:
restart: always
image: php:7.4.4-fpm
container_name: php
depends_on:
- mysql
volumes:
- e:/docker/php:/var/www/html
ports:
- 9000:9000
nginx:
restart: always
image: nginx
container_name: nginx
depends_on:
- php
volumes:
- e:/docker/nginx/logs:/var/log/nginx
- e:/docker/nginx/conf:/etc/nginx/conf.d
ports:
- 80:80
- 443:443
进入这个文件,执行命令: docker-compose up -d
进入mysql的docker的bash环境:
docker exec -it mysql /bin/bash
因为是mysql8,所以需要修改MySQL密码:
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'noway';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'noway';
FLUSH PRIVILEGES;
Nginx配置
修改 E:\docker\nginx\conf\test.conf
文件内容如下:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
# location ~ \.php$ {
# proxy_pass http://127.0.0.1;
# }
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
#php 容器的网站根目录
root /var/www/html;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
php配置
E:\docker\php\index.php
文件内容为:
<?php phpinfo(); ?>
访问
这个工程的git地址: