docker stack 部署 seafile(http)
===============================================
2018/5/13_第1次修改 ccb_warlock
===============================================
由于初步掌握了docker swarm的运行方式,故针对内部IT提供的公共服务也将进行容器化。
最近可能会部署seafile提供给某些同事使用,之前针对centos的部署已经整理了部署手册(http://www.cnblogs.com/straycats/p/9033943.html),故部署方面也针对docker的部署也进行整理。
一、前提条件
- 环境中已经部署了docker swarm(http://www.cnblogs.com/straycats/p/8978135.html)
- 最好也部署了portainer(http://www.cnblogs.com/straycats/p/8978201.html)
- 本教程的宿主机IP为:192.168.12.11
二、部署seafile
2.1 创建映射的本地目录
mkdir -p /usr/docker-vol/seafile/data/
2.2 配置seafile-stack.yml
vim /root/seafile-stack.yml
将下面的内容添加到seafile-stack.yml中,wq保存。
version: '3' services: seafile: image: seafileltd/seafile:latest environment: - TZ=Asia/Shanghai # 设定容器的时区为亚洲/上海 - SEAFILE_ADMIN_EMAIL=admin@mymail.cn # 创建管理员用户名 - SEAFILE_ADMIN_PASSWORD=111111 # 创建管理员账户名初始密码 volumes: # seafilel持久化的数据文件 - /usr/docker-vol/seafile/data/:/shared deploy: replicas: 1 restart_policy: condition: on-failure ports: - 10000:8000 # 试验发现目前文件服务的端口映射必须为8082,否则会无法使用同步目录 - 8082:8082 networks: - net01 networks: net01: external: true # 使用外部同名网络使用外部同名网络net01,如果对网络没有要求可以去掉networks信息,docker会生成一个默认网络给该服务栈
2.3 创建栈
1)命令方式
cd docker stack deploy -c seafile-stack.yml seafile-stack
2)portainer界面方式(推荐)
登录portainer(如果是根据上面的教程部署的portainer,浏览器访问http://宿主机IP:9000,在stack中增加seafile-stack.yml文件中的内容)
三、修改配置
浏览器访问http://部署seafile的虚拟机IP,使用刚才创建的管理员账号(admin@mymail.cn/111111)登录。
根据上面的步骤修改FILE_SERVER_ROOT,配置http://部署seafile的虚拟机IP:8082
参考资料:
1. https://manual-cn.seafile.com/deploy/deploy_with_docker.html