安装问题
支不支持 MacOS/Windows
不支持,由于雷池所依赖的部分 docker 特性在 MacOS/Windows 上并不生效,所以雷池在 MacOS/Windows 并不能正常工作。
我能把雷池和业务服务部署到同一台机器中吗?
不建议,如放在一起,在流量不变的情况下,机器负载将高于分开部署,增大了资源耗尽的可能性。
docker compose 还是 docker-compose?
docker compose
(带空格)是 V2 版本,Go 写的。docker-compose
是 V1 版本,Python 写的,已经不维护了。
我们推荐使用 V2 版本的 docker compose
,V1 可能会有兼容性等问题。
docker/compose 中提到:
For a smooth transition from legacy docker-compose 1.xx, please consider installing compose-switch to translate
docker-compose ...
commands into Compose V2'sdocker compose ....
. Also check V2's--compatibility
flag.
其他参考:https://stackoverflow.com/questions/66514436/difference-between-docker-compose-and-docker-compose
镜像下载缓慢甚至连接超时
这个是因为 docker hub 默认使用位于美西节点拉取镜像,可以自行配置国内镜像加速源。
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
如描述,你需要启动 docker daemon 才能执行相关的命令。尝试 systemctl start docker
。
docker not found, unable to deploy
如描述,你需要安装 docker
。尝试 curl -fLsS https://get.docker.com/ | sh
或者 Install Docker Engine。
docker compose v2 not found, unable to deploy
如描述,你需要安装 docker compose v2
。尝试 [Install Docker Compose](https://docs.docker.com/compose/install/)
。
failed to create network safeline-ce
safeline-ce 是雷池部署时候创建的 network,出现类似报错,先重启下 dockerd 之后重试。
safeline-tengine 出现 Address already in use
docker logs -f safeline-tengine
容器日志中看到 Address already in use
信息。
端口冲突,根据报错信息中的端口号,排查是哪个服务占用了,手动处理冲突。
safelint-mgt-api 出现 Operation not permitted
docker logs -f safelint-mgt-api
容器日志中看到 runtime/cgo: pthread_create failed: Operation not permitted
报错,这个错误一般会在 docker 20.10.9 及以下发生。
- 最推荐的方式是升级 docker 到最新版本尝试解决这个问题。
- 或您的系统支持配置 seccomp (执行
grep CONFIG_SECCOMP= /boot/config-$(uname -r)
输出CONFIG_SECCOMP=y
则为支持), 则可以在雷池工作目录下载 seccomp 并且编辑 compose.yaml 文件, 在 management 下加入如下配置项,然后执行docker compose down && docker compose up -d
来尝试解决这个问题:
security_opt:
- seccomp=./seccomp.json
safeline-postgres 出现 Operation not permitted
docker logs -f safeline-postgres
容器日志中看到 Operation not permitted
报错。
可能是您的 docker 版本过低,升级 docker 到最新版本尝试一下。
如何自定义 SafeLine 安装路径?
基于最新的 compose.yaml
,你可以手动修改 .env
文件的 SAFELINE_DIR
变量。
如何修改 SafeLine 后台管理的默认端口?本机 :9443
已经被别的服务占用了
基于最新的 compose.yaml
,你可以手动添加 MGT_PORT
变量到 .env
文件。