最重要的一点:项目路径以及nginx路径,一切皆是docker容器内路径
1:首先需要在 https://dashboard.daocloud.io/ 注册登录,此网站有需要的所有docker镜像
2:安装mysql
2.1: docker pull daocloud.io/library/mysql:5.7.5-m15
【找到mysql需要的版本,点击部署,会弹框提示 拉去的地址】
2.2:拉取成功后,docker images 查看MySQL镜像名称,然后部署
docker run -d --name mysql-master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /data/mysql/data-master/:/var/lib/mysql c8562eaf9d81【最后一个字符串是MySQL的镜像名称】
2.3:dockr ps 查看是否启动成功MySQL
3:安装php多版本
3.1:安装php7.4,先拉取镜像
docker pull daocloud.io/library/php:7.4-fpm
docker pull daocloud.io/library/php:5.6.8-fpm
3.2:创建php容器
docker run -d --name 'php-server-5.6.40'【这个是php容器名字,可自定义】 -v /home/user/xiangmu:/code/php --link=mysql-master 6feac8f2ef42【php5.6镜像名称】 php-fpm
3.3:查看php5.6是否启动成功
同理安装 php7.4
4:安装nginx
4.1:拉取镜像
docker pull daocloud.io/library/nginx:1.9.1
4.2: 创建nginx容器
1:需现在本地创建存放conf.d/**.conf文件的位置【touch -p /etc/nginx/conf.d】
2:docker run -d --name web-server【Nginx服务名称】 -v /home/user/xiangmu:/code/php -v /etc/nginx/conf.d【本地nginx配置文件存放位置,】:/etc/nginx/conf.d --link=php-server-7.4.8 --link=php-server-5.6.40 -p 8080:8080【本地端口:docker容器内端口号】 -p 443:443 b9e1dc12387a【nginx镜像名称】 nginx -g 'daemon off;'【后台运行】
下面是某一个项目的配置文件:
1:新增conf文件后,docker需要重启【docker restart web-server(nginx 容器名称)】
server {
listen 8080;
server_name backend-bd.local;
location / {
root /code/php/delant-business-backend-service/bd/web;【**容器内部对应的项目位置,不是本地的项目位置**】
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root /code/php/delant-business-backend-service/bd/web;【**容器内部对应的项目位置**】
fastcgi_pass php-server-7.4.8:9000;【**php7.4容器名称以及PHP74容器的端口,通过docker ps 可以看到端口号**】
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
非常重要的一点:docker 内部的nginx.conf文件内容,
**红框内路径必须是docker容器内部的nginx的路径,不是本地的**