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
相关推荐
sbjdhjd1 小时前
Docker 安全优化实战手册(企业级硬核版)
linux·运维·docker·云原生·容器·eureka·kubernetes
小周技术驿站1 小时前
Linux 基础命令详解
linux·前端·chrome·ubuntu·centos
终端行者1 小时前
Jenkins Pipeline 构建后推送到Nexus制品库 jenkins 如何连接Nexus?企业级实战 --中 Jenkins 连接Nexus 实战
运维·ci/cd·docker·jenkins·nexus
Zhu7581 小时前
软件更新-openssh和openssl-centos
linux·运维·centos
XiYang-DING1 小时前
【Java EE】 HTTPS协议
java·https·java-ee
七月稻草人1 小时前
DailyTxT 私人日记服务:NAS + Docker 部署,数据完全本地存储
运维·docker·容器
idolao2 小时前
CentOS 7 安装 httpd-2.4.1.tar.gz 详细步骤(源码编译、配置、启动)
linux·运维·centos
java资料站16 小时前
常用中间件快速搭建
docker·中间件
云游牧者17 小时前
K8S故障排查三板斧-CSDN博客
运维·docker·云原生·kubernetes·k8s·容器化·故障排查