docker export import无法启动(onlyoffice)
公司使用onlyoffice进行文档展示,直接使用docker拉取onlyoffice启动完全正常。当我们迁移服务的时候,想着用docker export可以小导出一些文件,当直接用docker import后,执行run 命令发现启动不了onlyoffice。 查看日志发现postgresql启动不了,错误信息如下。/etc/postgresql//main/pg_hba.conf/etc/po
·
公司使用onlyoffice进行文档展示,直接使用docker拉取onlyoffice启动完全正常。
当我们迁移服务的时候,想着用docker export可以小导出一些文件,当直接用docker import后,执行run 命令发现启动不了onlyoffice。 查看日志发现postgresql启动不了,错误信息如下。
/etc/postgresql//main/pg_hba.conf
/etc/postgresql//main/postgresql.conf
/usr/lib/postgresql/12/bin/pg_ctl
/app/ds/run-document-server.sh: line 551: [: !=: unary operator expected
/usr/lib/postgresql/12/bin/pg_ctl /usr/lib/postgresql/12/bin/pg_ctl start -D /var/lib/postgresql/12/main -l /var/log/postgresql/postgresql-12-main.log -s -o -c config_file="/etc/postgresql/12/main/postgresql.conf" exited with status 1:
分析:
从错误信息上来看是路径中间少了一层,然后找/app/ds/run-document-server.sh发现里面的环境变量少值。
解决方案:
1. 从原来的机器上使用命令: docker inspect 容器ID
2. 找到EVN变量并复制出来,如下图
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"LC_ALL=en_US.UTF-8",
"DEBIAN_FRONTEND=noninteractive",
"PG_VERSION=12",
"COMPANY_NAME=onlyoffice",
"PRODUCT_NAME=documentserver"
]
3.在新的服务器上创建一个文件,如onlyoffice_env.txt,按key=value的形式把第2步的变量放进来,如下图:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=en_US.UTF-8
DEBIAN_FRONTEND=noninteractive
PG_VERSION=12
COMPANY_NAME=onlyoffice
PRODUCT_NAME=documentserver
4.使用下面的命令启动即可正常使用,如下图:
sudo docker run --env-file=onlyoffice_env.txt -i -t -d -p 8097:80 -p 443:443 --restart=always onlyoffice/documentserver /bin/bash /app/ds/run-document-server.sh
更多推荐
已为社区贡献1条内容
所有评论(0)