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
相关推荐
随便做点啥1 小时前
32卡-64G-910B4-16后端-(Qwen3.8-27B-W8A8)集群部署报告
运维·服务器·经验分享·docker·vllm
Orange_sparkle10 小时前
从 Docker 到 Doris:建立后端基础设施全景图
运维·docker·ai·容器·claude code
gx234812 小时前
控制器管理
docker·容器·kubernetes
白清羽13 小时前
7.3系统安装docker
运维·docker·容器
dazhong201215 小时前
Docker 入门篇(八)-- CentOS7 安装 MySQL 8
mysql·docker·容器
典典分享指南17 小时前
用大模型把写作 SOP 变成可复用 Prompt
docker·jupyter·eclipse·phpstorm·myeclipse
库玛西17 小时前
Linux网络编程:HTTP/HTTPS协议核心技术全解析
linux·运维·服务器·网络·c++·http·https
Larru-Sun20 小时前
从零开始用 Docker 部署 Node.js 后端服务
docker·容器·node.js
feilieren1 天前
ubuntu 安装 docker
linux·ubuntu·docker
judezh1 天前
一个 Agent 平台要起 12 个容器,做演示能砍到几个?
docker