跳到主要内容

🐳 Docker 部署

安装 docker 环境

docker快速部署

使用镜像 emlog/emlog:pro-latest-php8.2-nginx 快速启动emlog,该镜像包含最新版本 emlog、Nginx 服务、以及必要的扩展,但不包括 MySQL,需要额外安装并创建数据库。

$ docker run --name emlog-pro -p 8080:80 -d emlog/emlog:pro-latest-php8.2-nginx

选择更多 emlog 镜像版本,请访问 docker hub

docker-compose 部署

推荐使用 Docker Compose 同时部署 MySQL 8.0 和 emlog。

1. 创建项目目录

在系统任意位置创建一个工作文件夹(例如 ~/emlog):

mkdir -p ~/emlog && cd ~/emlog

2. 创建 docker-compose.yml

创建 docker-compose.yml 文件,内容如下:

services:
mysql:
image: mysql:8.0
container_name: emlog-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: emlog
MYSQL_USER: emlog
MYSQL_PASSWORD: your_emlog_password
volumes:
- ./db_data:/var/lib/mysql
networks:
- emlog-network

emlog:
image: emlog/emlog:pro-latest-php8.2-nginx
container_name: emlog-pro
restart: always
depends_on:
- mysql
ports:
- "80:80"
environment:
- EMLOG_DOMAIN_NAME=localhost
- TIMEZONE=Asia/Shanghai
- MAX_POST_BODY=50M
- MAX_EXECUTION_TIME=300
- MEMORY_LIMIT=256M
volumes:
- ./emlog_data:/app
networks:
- emlog-network

networks:
emlog-network:
driver: bridge
提示

请将配置中的 your_root_passwordyour_emlog_password 替换为您自己的安全密码。 如果宿主机 80 端口已被占用,可将 ports 修改为 "8080:80" 等自定义端口。

3. 启动服务

docker-compose.yml 同级目录下执行:

docker compose up -d

如果使用的是旧版 Docker Compose,可使用 docker-compose up -d 命令。

4. 访问并完成安装

打开浏览器访问:http://localhost(若修改了端口,如 8080,则访问 http://localhost:8080)。

根据页面引导完成 emlog 安装向导,其中数据库信息填写:

  • 数据库地址mysql
  • 数据库名emlog
  • 数据库用户名emlog
  • 数据库密码your_emlog_password(即上面配置的 MYSQL_PASSWORD

环境变量说明

emlog/emlog:pro-latest-php8.2-nginx 镜像支持以下常用环境变量:

变量名默认值描述
EMLOG_DOMAIN_NAMElocalhost绑定域名,例如 www.emlog.net
TIMEZONEAsia/Shanghai时区设置
MAX_POST_BODY50M对应 PHP upload_max_filesizepost_max_size 及 Nginx client_max_body_size
MAX_EXECUTION_TIME300对应 PHP max_execution_time(单位:秒)
MEMORY_LIMIT256M对应 PHP memory_limit 内存上限
OPCACHE_ENABLE1是否开启 OPcache 扩展(1 开启,0 关闭)