NGINX docker 容器立即停止

NGINX docker 容器立即停止

我开始了解 Docker 和 docker 中的 nginx。我想使用自己的自定义静态文件和自己的 nginx.conf,所以我创建了一个 docker 文件:

FROM nginx
RUN rm /etc/nginx/nginx.conf
COPY /nginx.conf /etc/nginx/nginx.conf
COPY / /usr/share/nginx/html

# Expose ports
EXPOSE 80

我的 nginx.conf:

#user  nobody;
worker_processes  auto;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       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"' 
                      '$server_name to: $upstream_addr: $request';

    access_log  logs/access.log  main;



    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080;
        server_name  127.0.0.1;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
            try_files $uri /index.html;
            include       mime.types;           
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

我正在用以下方式构建它:

docker build --no-cache -t nginx-custom .

并运行它:

docker run -d -p 8080:80 --name webserver nginx-custom

但是它构建并运行,但立即停止,所以如果我检查

docker ps -a

我可以看到它在 1 秒前就退出了。我尝试在 nginx conf 中使用CMD /usr/sbin/nginx -g "daemon off;"或,或者使用无论我做什么,它都会在运行后立即退出。deamon off;CMD ["nginx", "-g", "daemon off;"]

答案1

您必须为您的 nginx 日志定义正确的路径。

/var/log/nginx/error.log/var/log/nginx/access.log

答案2

尝试使用以下命令运行它:-

docker run -d -p 8080:80 --name webserver -it nginx-custom /bin/bash

相关内容