Docker Compose部署Dedecms

下载程序解压到本地目录

程序目录中的/uploads里的文件就是网站源码

把网站源码放在/root/dedecms_docker/dedecms下(记得先把/root/dedecms_docker/dedecms创建好,docker-compose.ymlDockerfile放在/root/dedecms_docker目录下,在/root/dedecms_docker执行docker compose up -d开始构建)

进入安装界面后访问http://192.168.0.116/install/index.php安装

数据库填写db

docker-compose.yml文件

version: '3.8'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: dedecms_web
    ports:
      - "8080:80"
    volumes:
      - /root/dedecms_docker/dedecms:/var/www/html
    depends_on:
      - db
    environment:
      - APACHE_DOCUMENT_ROOT=/var/www/html
    networks:
      - dedecms_network

  db:
    image: mysql:5.7
    container_name: dedecms_db
    environment:
      MYSQL_ROOT_PASSWORD: root123456
      MYSQL_DATABASE: dedecms
      MYSQL_USER: dedecms_user
      MYSQL_PASSWORD: dedecms_pass
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - dedecms_network

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: dedecms_phpmyadmin
    environment:
      PMA_HOST: db
      PMA_USER: dedecms_user
      PMA_PASSWORD: dedecms_pass
    ports:
      - "8081:80"
    depends_on:
      - db
    networks:
      - dedecms_network

volumes:
  db_data:

networks:
  dedecms_network:
    driver: bridge

Dockerfile文件

FROM php:7.1-apache

# 设置 Debian 归档源
RUN echo "deb http://archive.debian.org/debian buster main" > /etc/apt/sources.list && \
    echo "deb http://archive.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list

# 安装必要的 PHP 扩展
RUN docker-php-ext-install mysqli pdo pdo_mysql

# 安装其他依赖
RUN apt-get update && apt-get install -y \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install gd

# 复制 DedeCMS 文件
COPY ./dedecms /var/www/html

# 设置 Apache 文档根目录
ENV APACHE_DOCUMENT_ROOT /var/www/html
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# 赋予目录权限
RUN chown -R www-data:www-data /var/www/html \
    && chmod -R 755 /var/www/html
梦葉樱 all right reserved,powered by Gitbook该文件最后修改时间: 2025-08-01 20:16:02

results matching ""

    No results matching ""