🐳 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_password 和 your_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_NAME | localhost | 绑定域名,例如 www.emlog.net |
TIMEZONE | Asia/Shanghai | 时区设置 |
MAX_POST_BODY | 50M | 对应 PHP upload_max_filesize、post_max_size 及 Nginx client_max_body_size |
MAX_EXECUTION_TIME | 300 | 对应 PHP max_execution_time(单位:秒) |
MEMORY_LIMIT | 256M | 对应 PHP memory_limit 内存上限 |
OPCACHE_ENABLE | 1 | 是否开启 OPcache 扩展(1 开启,0 关闭) |