centos安装docker配置自动HTTPS部署多个项目

centos安装docker

CentOS 安装 Docker 并配置国内镜像源

一、配置 CentOS 国内 YUM 源(前置步骤)

1. 备份原有 YUM 源配置

bash 复制代码
sudo mv /etc/yum.repos.d /etc/yum.repos.d.bak
sudo mkdir /etc/yum.repos.d

2. 下载阿里云 CentOS 7 基础源

bash 复制代码
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

3. 重建 YUM 缓存

bash 复制代码
sudo yum clean all
sudo yum makecache

二、安装 Docker

  1. 卸载旧版本(如有)
bash 复制代码
sudo yum remove -y docker docker-client docker-client-latest docker-common \
    docker-latest docker-latest-logrotate docker-logrotate docker-engine
  1. 安装依赖工具
bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加阿里云 Docker CE 仓库(国内源)
bash 复制代码
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装 Docker
bash 复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io
  1. 启动 Docker 并设置开机自启
bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker
  1. 验证安装
bash 复制代码
docker --version
sudo docker run hello-world

三、配置 Docker 国内镜像加速器

  1. 创建配置目录并写入镜像源
bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://hub-mirror.c.163.com"
  ]
}
EOF

docker-compose.yml

bash 复制代码
version: '3.8'

services:
  www-web-cn:
    build: ./www.web.cn
    container_name: www-web-cn
    command:  ["sh", "-c", "python app.py collectstatic --noinput && exec gunicorn mysite.wsgi:application --bind 0.0.0.0:8000"]
    volumes:
      - ./www.web.cn:/app
    expose:
      - "8000"  # 只暴露给 linked 容器,不暴露给
    environment:
      - DEBUG=0           # 生产关闭调试
      - SECRET_KEY=your-super-secret-key-123456
      - ALLOWED_HOSTS=*
    restart: always
    networks:
      - app_network
# ========== SWAG (Nginx + Certbot) ==========
  swag:
    image: lscr.io/linuxserver/swag:latest
    container_name: swag
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      # 第一个域名(主域名)
      - URL=web.cn
      - VALIDATION=http
      - EMAIL=your@email.com
      # 第二个域名(额外域名)
      - EXTRA_DOMAINS=www.web.cn
      - ONLY_SUBDOMAINS=false
      - STAGING=false
    volumes:
      - ./nginx:/config
      - ./www.web.cn:/www.web.cn
    ports:
      - "80:80"
      - "443:443"
    depends_on:
      - www-web-cn
    networks:
      - app_network
    restart: unless-stopped
volumes:
  media_volume:
  static_volume:
  static_volume3:
networks:
  app_network:
    driver: bridge

Dockerfile

bash 复制代码
FROM python:3.11-slim
# 工作目录
WORKDIR /app
# 安装依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt

./nginx/nginx/site-confs/www.web.cn.conf

bash 复制代码
# 文件名: ./nginx/site-confs/xxx.conf 每个web一个
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name www.web.cn;
    # 包含 SWAG 已经为你配置好的通用 SSL 参数
    include /config/nginx/ssl.conf;
    # 静态文件(可选)
    location /static/ {
        alias /www.web.cn/static/;
    }
    # 动态请求全部转发给 www-web-cn 容器
    location / {
        proxy_pass http://www-web-cn:8000;
        include /config/nginx/proxy.conf;
    }
}
Docker-compose命令
bash 复制代码
docker-compose up -d
docker-compose down
相关推荐
修罗王14 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
张龙68716 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
杨浦老苏18 小时前
开源堡垒机 Warpgate:一个容器搞定 SSH、MySQL 和 Web 访问
运维·docker·ssh·堡垒机·群晖
ERD Online19 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
三言老师20 小时前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
circuitsosk20 小时前
从Docker到Kubernetes:AI应用服务化与弹性伸缩的落地实践
人工智能·docker·kubernetes·ai应用部署
showyoui21 小时前
K8s 集群迁移踩坑:Istio 升级后 nginx 403
网络·docker·kubernetes·istio·service_mesh
执笔画流年呀21 小时前
网络原理(http)(https)
网络·http·https
FinelyYang1 天前
CentOS 7.6 自建 LiveKit 部署指南
linux·运维·centos
llllll1521 天前
HTTP协议全解:从报文结构到HTTPS加密原理
网络协议·http·https