docker部署nginx并配置https

1.准备SSL证书

生成私钥:运行以下命令生成一个私钥文件。

生成证书请求(CSR):运行以下命令生成证书请求文件。

生成自签名证书:使用以下命令生成自签名证书。

复制代码
openssl genrsa -out example.com.key 2048
openssl req -new -key example.com.key -out example.com.csr
openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt

2.创建Nginx配置文件

创建一个名为nginx.conf的Nginx配置文件。

复制代码
  server {
      listen 80;
      server_name zsh.com;
      return 301 https://$server_name$request_uri;
  }

  server {
      listen 443 ssl;
      server_name zsh.com;

      ssl_certificate /etc/nginx/certs/example.com.crt;
      ssl_certificate_key /etc/nginx/certs/example.com.key;

      location / {
        root /var/www/html; 
        index index.html;     
      }
  }

3.创建一个Dockerfile

创建一个Dockerfile来构建你的Nginx容器。

复制代码
FROM nginx:latest

# 复制SSL证书和私钥到容器中
COPY example.com.crt /etc/nginx/certs/
COPY example.com.key /etc/nginx/certs/

# 复制Nginx配置文件到容器中
COPY nginx.conf /etc/nginx/nginx.conf

# 暴露80和443端口
EXPOSE 80
EXPOSE 443

# 启动Nginx服务
CMD ["nginx", "-g", "daemon off;"]

4.构建Docker镜像

在Dockerfile所在的目录中执行以下命令构建镜像。

复制代码
docker build -t nginx-https .

5.运行容器

运行你的Nginx容器,并将端口映射到主机上。

复制代码
docker run -d -p 80:80 -p 443:443 nginx-https
相关推荐
正经教主9 小时前
【docker基础】第一课、从零开始理解容器技术
docker·云原生·容器·eureka
萌萌哒草头将军10 小时前
CloudDock(云仓):新一代开源NAS网络代理工具
服务器·网络协议·docker
正经教主12 小时前
【docker基础】0、系统学习docker之总计划
学习·docker·容器
Yang三少喜欢撸铁13 小时前
【Centos7通过kubeadm方式部署kubernetes1.30版本【一主两从】】
docker·kubernetes·container
杨浦老苏15 小时前
开源宠物健康护理追踪器EinVault
docker·群晖·宠物·健康管理
@土豆16 小时前
基于Docker部署Squid正向代理文档
运维·docker·容器
林润庚16 小时前
win 安装openclaw (docker镜像模式),解决18789访问失败问题
docker·openclaw·龙虾
正经教主17 小时前
【docker基础】Ubuntu 安装 Docker 超详细小白教程
ubuntu·docker·eureka
chxii18 小时前
linux 下用 acme.sh 搞定 Nginx 免费 SSL 证书自动续期(上)
nginx
大阿明18 小时前
使用vite打包并部署vue项目到nginx
前端·vue.js·nginx