docker安装nginx挂载配置 SSL配置

拉取镜像启动容器

获取nginx镜像列表

docker search nginx

拉取nginx镜像到本地,此处我们获取排名第一的是官方最新镜像

docker pull nginx

查看镜像

docker images

启动容器-最好使用默认端口80

docker run --name nginx -p 6060:6060 -d nginx

可测试访问,注意防火墙。

其他命令-重启nginx

docker restart nginx

重新加载配置

docker exec nginx nginx -s reload

复制默认配置文件到宿主机

mkdir -p /home/nginx{conf,html,logs}
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/nginx.conf
docker cp nginx:/etc/nginx/conf.d/default.conf /home/nginx/conf/default.conf

启动挂载命令

删除关闭容器

docker stop nginx

docker rm nginx

启动容器、挂载目录
docker run -d --name nginx -p 6060:6060 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/conf:/etc/nginx/conf.d --privileged=true -d nginx

nginx.conf文件

在/home/nginx目录配置

#/home/nginx
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


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"';

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

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    server {
        listen       6060;
        #listen  [::]:80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  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;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

    #gzip  on;
    #include /etc/nginx/conf.d/*.conf;
}

root        /usr/share/nginx/html 指向了/home/nginx/html

在/home/nginx/html中放入index.html文件

重启nginx,docker restart nginx,测试访问

SSL配置 

帮助文档:在Nginx(或Tengine)服务器上安装证书 - 数字证书管理服务 - 阿里云

阿里云SSL证书、nginx证书下载,把证书上传到/home/nginx/conf

/etc/nginx/conf.d/指向了/home/nginx/conf

更改配置文件、使用自己的文件名称

    server {
        listen       6060 ssl; #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on
        #listen  [::]:80;
        server_name  localhost;

        ssl_certificate     /etc/nginx/conf.d/xxx.com.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
        ssl_certificate_key /etc/nginx/conf.d/xxx.com.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        #表示使用的加密套件的类型。
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
        ssl_prefer_server_ciphers on;

        location / {
            root   /usr/share/nginx/html;
            index  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;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

重启nginx,docker restart nginx,测试访问

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的rookie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值