容器部署时,后端换成nfs共享,出错


#1

参照开源版部署方法.md部署成功后,参考NFS 下集群安装将后端换成nfs,使用原先的配置文件docker-compose.yml启动时报错如下,请问后端是否容器部署暂时不支持更换后端?

seafile-docs | verifying password of user root ...  done
seafile-docs |
seafile-docs | Error: Ccnet config dir "/opt/seafile/ccnet" already exists.
seafile-docs | Traceback (most recent call last):
seafile-docs |   File "/scripts/start.py", line 86, in 
seafile-docs |     main()
seafile-docs |   File "/scripts/start.py", line 56, in main
seafile-docs |     init_seafile_server()
seafile-docs |   File "/scripts/bootstrap.py", line 175, in init_seafile_server
seafile-docs |     call('{} auto -n seafile'.format(setup_script), env=env)
seafile-docs |   File "/scripts/utils/__init__.py", line 69, in call
seafile-docs |     return subprocess.check_call(*a, **kw)
seafile-docs |   File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
seafile-docs |     raise CalledProcessError(retcode, cmd)
seafile-docs | subprocess.CalledProcessError: Command '/opt/seafile/seafile-server-1.2.0/setup-seafile-mysql.sh auto -n seafile' returned non-zero exit status 1
seafile-docs | *** /scripts/start.py exited with status 1.
seafile-docs | *** Shutting down runit daemon (PID 21)...
seafile-docs | *** Running /etc/my_init.post_shutdown.d/10_syslog-ng.shutdown...
seafile-docs | Jun  5 02:56:17 266874447ff1 syslog-ng[12]: syslog-ng shutting down; version='3.13.2'
seafile-docs | *** Killing all processes...
seafile-docs exited with code 1

#2

容器中是不能这么单纯的设置软链接的,你在宿主机上设置的软链接到通过volumes挂载到容器中后,软链接就成了容器自己的软链接了,所以你应该把nfs的目录也相应的挂载到容器中,不知道这么说你能明白不


#3

是指在容器内使用mout.nfs或mount -t nfs命令挂载宿主机的vol吗?
目前采用docker-impose提供的image进行部署的,该image里好像不能进行nfs挂载

root@80d73ff24682:/# showmount -e
bash: showmount: command not found
root@80d73ff24682:/# mount.nfs
bash: mount.nfs: command not found
root@80d73ff24682:/# mount -t nfs XXX.XXX.XXX.XXX:/mnt/vol /seafile-nfs
mount: /seafile-nfs: permission denied.

#4

不是在容器中直接挂载nfs,而是要把宿主机上挂载的那一套nfs目录作为容器的volumes挂载到容器中,使得在宿主机上创建的软链接到容器中还能指向正确的目标目录。