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
相关推荐
要开心吖ZSH35 分钟前
AI医疗分诊与健康咨询助手agent开发——(4-2)从零到一:我给AI医疗分诊助手加了个“知识库大脑“,终于搞懂了RAG是什么
java·docker·agent·医疗·rag
汪汪大队u1 小时前
【无标题】
运维·docker·kubernetes·prometheus
BaiduPHP5 小时前
docker异常断电,出现docker服务,启动失败
docker·容器·eureka
Icoolkj7 小时前
ICOOLKJ 前后端分离项目完整部署文档(MySQL8.4+Redis+JDK21+Nginx+HTTPS+自动同步演示库)
redis·nginx·https
梦梦代码精7 小时前
多商户商城技术选型实测:ThinkPHP 8与Vue 3结合,B2B2C架构下的开源实践
docker·开源·代码规范
寒冰碧海8 小时前
大模型部署从0到1(三):单机多卡 vLLM 部署Qwen3.6实战|Docker Compose 一键启动
docker·容器·vllm
chexus9 小时前
Docker 镜像瘦身:使用 Maven 拆分 Jar 包
docker·maven·jar
梦梦代码精9 小时前
智能体应用开发平台技术选型:一个自带商业模块的开源方案调研
人工智能·docker·开源
潘正翔19 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
Java小白笔记1 天前
Docker 安装配置完全指南:MacOS 、Windows、Linux环境下的安装、配置与验证
linux·macos·docker