docker export import无法启动(onlyoffice)

公司使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值