之前一直用seafile,是在标准的VPS上部署的,如果在Docker上,是不是更显得洁癖一些.
已知Debian下可以搭建,最简单是commit方式,但是明显不够洁癖.正确做法是Dockfile.
FROM debian MAINTAINER TaterLi <admin@lijingquan.net> EXPOSE 8000 8082
导出8000端口是用来测试seafile的,因为用的人不多,我就做SQLite方式.(实际上,所谓路由网盘,大多数也是SQLite).
然后生成一个测试的镜像.
docker build -t test .
由docker随便一个端口,然后启动.(因为默认没CMD,所以一定要指定一个CMD.)
docker run -dPit test /bin/bash
其后进来了.
接下来,做一步记录一步.
参考方法:https://seafile.gitbook.io/seafile-manual-cn/linux-xia-bu-shu-seafile-fu-wu-qi/bu-shu-seafile-fu-wu-qi-shi-yong-sqlite
(在用户交互之前,执行了这些.)
apt-get update apt-get install -y python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 sqlite3 wget mkdir /seafile cd /seafile wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.2.5_x86-64.tar.gz tar -xzf seafile-server_* mv seafile-server-* seafile-server
接着可以继续(初始设置,这个还是要人工来.):
/seafile/seafile-server/setup-seafile.sh
所以实际上这个Docker配置,应该分两个阶段,第一个阶段是首次部署,让用户干预,第二次是正式使用.
最后,提供一个初始化的CMD,记得这个初始化不能被退出,所以最后让他执行bash命令,他就再也不会退出了.