// 拉取镜像
docker pull mysql:5.7
// 启动容器
docker run -p 3306:3306 --name mysql5.7 -d -v D:\dnmp\mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
注释:
--name mysql5.7 -- 容器名称
D:\dnmp\mysql:/var/lib/mysql -- 冒号前面是本地路径,冒号后面是容器中的路径【默认不动】
docker exec -it mysql5.7 /bin/bash
// 拉取镜像
docker pull php:7.2-fpm
// 启动容器
docker run --name php-fpm7.2 -p 9000:9000 -v D:\dnmp\www:/www -d php:7.2-fpm
注释:
D:\dnmp\www:/www -- 冒号前面是本地路径(项目目录),冒号后面是容器中的路径【默认不动】
docker exec -it php-fpm7.2 /bin/bash
cd /usr/local/bin/
docker-php-ext-install pdo pdo_mysql
注意: php要连接docker中运行的mysql是不能用localhost,127.0.0.1来连接的,因为每个docker运行容器的localhost、127.0.0.1都是自己容器本身,不是mysql容器,需要修改成母机 IP,或者是mysql容器名称。php中连接的 mysql host填写mysql 不用 localhost 或127.0.0.1
// 拉取镜像
docker pull nginx:latest
// 启动容器
docker run --name nginx -p 80:80 -v D:\dnmp\www:/usr/share/nginx/html:ro -v D:\dnmp\nginx\conf\conf.d:/etc/nginx/conf.d:ro -d nginx
注释:
D:\dnmp\www:/usr/share/nginx/html:ro -- 本地项目路径:容器项目路径:ro 【此处是映射关系,照样修改即可,ro指同步】
D:\dnmp\nginx\conf\conf.d:/etc/nginx/conf.d:ro -- 本地项目路径:容器项目路径:ro 【此处是映射关系,照样修改即可,ro指同步】
server {
listen 80;
server_name jingyi.com;
location / {
// 项目根目录,注意目录结构
root /usr/share/nginx/html/public;
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
// 项目根目录,注意目录结构
root /usr/share/nginx/html/public;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
// 项目根目录,注意目录结构
fastcgi_param SCRIPT_FILENAME /www/public/$fastcgi_script_name;
include fastcgi_params;
}
}