nginx docker安装(docker-compose方式)(挂载配置路径)

安装

这次安装,挂载配置文件路径,这样配置文件更容易修改,不需要进入容器里面

创建目录

在root/docker_nginx目录下创建mkdir conf.d文件夹

cd /root/docker_nginx
mkdir conf.d

创建docker-compose.yml

在/root/docker_nginx目录下创建docker-compose.yml文件

vim docker-compose.yml

内容如下:

version: '3'
services:
  nginx:
    image: nginx   # 镜像
    container_name: nginx   # 指定容器名称
    ports:   # bridge网络模式,指定映射端口
       - "8000:80"
    # network_mode: "host"   # 指定网络模式
    restart: always   # 当docker服务启动时,容器总是跟着启动
    volumes:
      - /root/docker_nginx/conf.d:/etc/nginx/conf.d   # 挂载配置文件路径

将宿主机/root/docker_nginx/conf.d映射到容器的/etc/nginx/conf.d目录

关闭并删除之前的nginx

docker-compose down

启动

docker-compose up -d

执行结果:

Creating network "docker_nginx_default" with the default driver
Creating nginx ... done

查看

docker-compose ps

访问

打开浏览器访问 http://106.13.165.100:8000/ 打开页面错误,因为没有default.conf,nginx不知道如何处理请求

创建 default.conf

在宿主机的 /root/docker_nginx/conf.d 目录下,创建 default.conf 文件

vim /root/docker_nginx/conf.d/default.conf

内容如下:

server {
    listen       80;   # 监听所有ipv4的80端口
    # listen  [::]:80;    # 监听所有ipv6的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;   # 默认首页是 index.html 或 index.htm
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    #error_page   500 502 503 504  /50x.html;   # http错误代码对应的错误页面是50x.html
    #location = /50x.html {
    #    root   /root/docker_nginx/html;   # 50x.html的位置
    #}
}

重新加载 or 重启

重新加载配置文件

如果不想重启nginx docker,那么需要进入容器,重新加载配置文件

docker exec -it nginx bash
nginx -s  reload

重启nginx docker

重启的方式,比重新加载要简单些

docker-compose restart

测试

打开浏览器访问 http://106.13.165.100:8000/ 能够正常访问页面


原文出处:/show_1EF5xZ3xPFpI.html