Docker 安装 nginx

目录

    • 随便启动一个nginx实例,只是为了复制出配置
    docker run -p80:80 --name nginx -d nginx:1.10   
    
    • 将容器内的配置文件拷贝到/mydata/nginx/conf/ 下
    sudo mkdir -p /mydata/nginx/html
    sudo mkdir -p /mydata/nginx/logs
    sudo mkdir -p /mydata/nginx/conf
    docker container cp nginx:/etc/nginx/*  /mydata/nginx/conf/ 
    #由于拷贝完成后会在config中存在一个nginx文件夹,所以需要将它的内容移动到conf中
    mv /mydata/nginx/conf/nginx/* /mydata/nginx/conf/
    rm -rf /mydata/nginx/conf/nginx
    
    • 终止原容器:
    docker stop nginx
    
    • 执行命令删除原容器:
    docker rm nginx
    
    • 创建新的Nginx,执行以下命令
    docker run \
    --name nginx \
    --privileged=true \
    --restart=always \
    --net=host \
    -m 100m \
    --cpus=0.5 \
    -v /mydata/nginx/html:/etc/nginx/html \
    -v /mydata/nginx/logs:/var/log/nginx \
    -v /mydata/nginx/conf/:/etc/nginx \
    -v /etc/localtime:/etc/localtime:ro \
    -d nginx:1.10
    
    • 设置开机启动nginx
    docker update nginx --restart=always
    
    • 创建“/mydata/nginx/html/index.html”文件,测试是否能够正常访问
    echo '<h2>hello nginx!</h2>' >index.html
    w```
    访问:http://nginx所在主机的IP:80/index.html
    
    **完整日志**
    ```conf
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          'user_agent:$http_user_agent http_x_forwarded_for:$http_x_forwarded_for request_time:$request_time upstream_response_time:$upstream_response_time upstream_addr:$upstream_addr upstream_status:$upstream_status ';
    
    posted @ 2025-01-17 09:49  Thousand_Mesh  阅读(26)  评论(0)    收藏  举报