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
相关推荐
栗子~~4 小时前
docker-compose的方式搭建 kafka KRaft 模式集群
docker·kafka·linq
周杰伦_Jay6 小时前
详细介绍:持续集成与持续部署(CI/CD)技术细节(关键实践、CI/CD管道、优势与挑战)
程序人生·ci/cd·docker·微服务·云原生·容器·人机交互
骑台风走9 小时前
ubunut22.04安装docker(基于阿里云 Docker 镜像源安装 Docker)
阿里云·docker·容器
仇辉攻防10 小时前
【云安全】云原生-Docker(五)容器逃逸之漏洞利用
安全·web安全·网络安全·docker·云原生·容器·安全性测试
SomeBottle14 小时前
【小记】在 Google Colab 等平台上运行 GPU 容器
linux·python·docker·学习笔记·容器化·斩虫
等一场春雨15 小时前
Alibaba Spring Cloud 十三 Nacos,Gateway,Nginx 部署架构与负载均衡方案
nginx·spring cloud·gateway
风霜不见闲沉月16 小时前
Docker常用知识点问题
docker
三天不学习18 小时前
Docker 系列之 docker-compose 容器编排详解
docker·容器·docker-compose
一夜白头催人泪18 小时前
【阿里云】使用docker安装nginx后可以直接访问
nginx·阿里云·docker
mcharleylei1 天前
Centos 安装docker
linux·docker·centos