Docker实战:Docker安装nginx并配置SSL

225 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情

今天继续给大家分享Docker实战,Centos8环境下安装nginx并配置SSL。

拉取nginx镜像

docker pull nginx

启动nginx容器

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

浏览器访问可以打开nginx页面

创建挂载nginx目录

mkdir /opt/nginx

容器目录拷贝到宿主主机目录/opt/nginx

docker cp nginx:/etc/nginx /opt/nginx

停止nginx容器

docker stop nginx

删除nginx容器

docker rm nginx

重新启动nginx容器

docker run -d -p 80:80 -p 443:443 --name nginx -v /opt/nginx:/etc/nginx nginx

说明:

  • -p 80:80 -p 443:443 暴露80 、443 端口
  • -v /opt/nginx:/etc/nginx nginx 挂载目录

查看目录挂载是否成功

docker inspect nginx

在宿主目录创建ssl目录,将ssl证书放在宿主主机

mkdir /opt/nginx/ssl

进入容器内部查看证书文件是否正常同步过来

docker exec -it nginx /bin/bash

cd /etc/nginx/ssl

ls

退出容器

exit

修改配置宿主主机nginx增加ssl证书配置

vim /opt/nginx/nginx.conf

主要修改文件如下:

  server {
                listen  443 ssl;
                server_name      www.programmerblog.xyz;
                ssl_certificate      /etc/nginx/ssl/xxxxx.crt;
        ssl_certificate_key  /etc/nginx/ssl/xxx.key;
        # listen       80;
        #server_name  localhost:8090;
                client_max_body_size 500m;
        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        location / {
            root   html;
            index  index.html index.htm;
                        proxy_pass http://119.3.59.220:8090/;
        }


        #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   html;
        }

重启nginx容器

docker restart nginx

然后可以通过浏览器访问效果

programmerblog.xyz/

以上是关于Docker安装nginx并且配置ssl证书的案例,大家有什么问题欢迎互相交流沟通!