使用Docker方式搭建Seq日志服务平台

Publish: September 23, 2022 Category: 运维 No Comments

启动和说明

官方的hub中地址 https://hub.docker.com/r/datalust/seq/

在Docker容器中运行Seq

PH=$(echo '<password>' | docker run --rm -i datalust/seq config hash)

mkdir -p <local path to store data>

docker run \
  --name seq \
  -d \
  --restart unless-stopped \
  -e ACCEPT_EULA=Y \
  -e SEQ_FIRSTRUN_ADMINPASSWORDHASH="$PH" \
  -v <local path to store data>:/data \
  -p 80:80 \
  -p 5341:5341 \
  datalust/seq

其中
<password> 要改成自己的密码,这是访问web页面时候的admin用户的密码
<local path to store data> 是要存储数据的目标文件夹地址
如果有必要可以将端口80web页面映射改一下防止和现有业务冲突

--nmae 设置容器名称
-d 守护模式运行
--restart unless-stopped 保持和系统同步启动,除非使用 docker stop seq 指令
-e ACCEPT_EULA=Y 接受终端用户协议否则无法使用 EALA是 End User License Agreement的缩写
-e SEQ_FIRSTRUN_ADMINPASSWORDHASH="$PH" 设置首次启动时密码
-v 挂载seq的配置和数据目录,强烈建议配置在容器外

内存限制

seq需要基于宿主机分配的内存来准确知道可用的内存,如果seq处理下不可预知错误或者类似 out-of-memory的错误则建议设置 --memory 和 --memory-swap参数类似下面这样

docker run --memory=16g --memory-swap=16g <other args> datalust/seq

该参数标识宿主机应该提供给seq的内存大小,当然越多越好,通常两个值要设成相同的大小可以避免使用交换分区带来的性能下降

如果运行在本地机器且磁盘速度比较快,或者小内存的环境(500MB或者更小),可以这样配置

docker run --memory=500mb --memory-swap=500mb -e SEQ_CACHE_SYSTEMRAMTARGET=0 <other args> datalust/seq

数据持久化

强烈建议将数据目录通过-v参数挂载的宿主机目录,该目录必须是本地磁盘,不通的seq容器不能使用同一个目录防止出现错误。

启用认证

SEQ_FIRSTRUN_ADMINPASSWORDHASH 就是这个参数

Tags: docker, seq, 日志服务器

Related Posts:

Leave a Comment