docker多域名配置多个网站

文章目录

  • 目的
  • 环境
  • 前提
  • 开始
  • 测试(略)

目的

使用docker配置多个域名访问不同目录的网站

环境

window 10 x64

前提

安装docker
安装了nginx镜像(docker pull nginx)

开始

由于我们一般在window上开发程序,所以我这里用的都是window的路径

# 程序在d盘,我们先切换到d盘,回车
C:\Users\administrator>d:

# 查看当前有的镜像
D:\>docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              ae513a47849c        3 weeks ago         109MB

# 创建一个在后台运行的,名称为nginx,宿主机80端口对应容器里80端口,并创建两个目录映射(一个主机配置目录,一个网站数据目录)
D:\>docker run -d --name nginx -p 80:80 -v D:\xing\docker\nginx\conf.d:/etc/nginx/conf.d -v D:\xing\wwwroot:/usr/share/nginx/html nginx

# 向配置目录添加如下两个配置并建立相应目录和测试的index.html文件,向host文件添加web1.com和web2.com两个域名
# conf1.conf
server {
    listen       80;
    server_name  web1.com;

    location / {
        root   /usr/share/nginx/html/web1;
        index  index.html index.htm;
    }
}
# conf2.conf
server {
    listen       80;
    server_name  web1.com;

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

# 如果要添加php脚本请添加如下,注意fastcgi_pass必须是php的inspect的ip信息,注意修改SCRIPT_FILENAME目录路径
location ~ \.php$ {
        fastcgi_pass   172.17.0.2:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
        include        fastcgi_params;
    }
# 向名称为nginx的容器发送脚本命令
D:\>docker exec -it nginx /bin/bash

# 重新加载配置命令
root@730861801de1:/etc/nginx/conf.d# service nginx reload
[ ok ] Reloading nginx: nginx.

测试(略)

至此,docker多域名多网站配置结束

参考文档
https://www.jianshu.com/p/6b317192480c

你可能感兴趣的:(docker,docker,nginx,多域名,多网站)