docker 安装 nginx

1.首先拉取nginx
2.先运行nginx,将容器内的/etc/nginx/nginx.conf拷贝出来
3.重新编辑nginx.conf,放入本地路径
4.停止nginx,删除容器,然后重新运行容器,挂载配置自己编辑的配置文件

#拉取最新版本nginx
docker pull nginx

#查看拉取的镜像
docker images

#运行nginx镜像
docker run -itd -p 8080:80 --name nginxTest nginx

#拷贝nginxTest容器配置文件到本地机器
docker cp nginxTest:/etc/nginx/nginx.conf /nginx.conf

nginx.conf配置

#源配置文件
user  nginx;
worker_processes  auto;

#日志文件 不加/ 表示相对位置相对当前文件 加/ 绝对路径
#当path/file 的值为 /dev/null时,这样就不会输出任何日志了,这也是关闭error日志的唯一手段;
#leve的取值范围是debug、info、notice、warn、error、crit、alert、emerg从左至右级别依次增大。
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}

http {
    #导入mime.types文件
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    #导入*.conf文件
    include /etc/nginx/conf.d/*.conf;
}

修改为自己的配置文件按


worker_processes  1;
#日志文件/log/error.log
error_log  /log/error.log error;

events {
    worker_connections  1024;
}


http {

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;


        location / {
            #项目访问路径 /html/sealHome 在这个文件夹下要有iddex.html
            root   /html/sealHome;
            index  index.html;
        }

        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       8085;
        server_name  localhost;

        location / {
            #项目访问路径 /html/sealHome 在这个文件夹下要有iddex.html
            root   /html/sealAdmin;
            index  index.html;
        }

        location = /50x.html {
            root   html;
        }
    }


}

5.配置完成之后 停止刚才的容器,删除容器,重新部署自己的项目

#查看容器
docker ps

#停止容器
docker stop nginxTest

#删除容器
docker rm nginxTest

#启动容器 重命名 端口映射 配置文件挂载 项目位置挂载 日志文件挂载 重启自启
docker run -itd --name myNginx -p 8080:80 -p 8085:8085 -v /nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker/nginx/html:/html -v /usr/local/docker/nginx/log:/log --restart always nginx

posted @ 2021-07-26 16:52  !!!嘻哈!!!  阅读(399)  评论(0编辑  收藏  举报