1. 程式人生 > 實用技巧 >使用docker搭建seafile伺服器

使用docker搭建seafile伺服器

工作需要在單位和家裡的不同電腦上同步指定資料夾及其內容。對比了一些解決方案,最終還是選擇熟悉的seafile來做。
需要按照官方文件進行seafile的安裝,選擇官方推薦的docker方式快速部署。
由於網路因素,直接訪問國外源非常慢甚至超時退出無法完成,所以我下面嘗試替換成國內阿里雲的源,實際體驗速度提升非常明顯。

1.使用yum安裝依賴包

yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 

2.新增yum軟體源後安裝Docker

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
yum install docker-ce docker-ce-cli containerd.io 
#啟動docker
systemctl start docker

3.配置Docker國內映象加速

vi /etc/docker/daemon.json

映象加速器地址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
開啟以後你可以看見你的專屬加速器地址xxxxxxxx.mirror.aliyuncs.com
將其配置到daemon.json檔案中:

{ "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"] }

需重啟docker服務:

systemctl daemon-reload 
systemctl restart docker

4.使用docker pull拉取seafile映象

[root@alfredzhao-ecs01 ~]# docker pull seafileltd/seafile
Using default tag: latest
latest: Pulling from seafileltd/seafile
1489501ea318: Pull complete 
c197ac8352c5: Pull complete 
Digest: sha256:f0d42312c8935973515213677619b3fed877c7276949ac18e01804565a21ba7e
Status: Downloaded newer image for seafileltd/seafile:latest
docker.io/seafileltd/seafile:latest

注意:這裡如果沒有上一步配置合理的registry-mirrors,速度就會非常慢。

5.使用docker run執行seafile服務

docker run -d --name seafile \
  -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
  -e [email protected] \
  -e SEAFILE_ADMIN_PASSWORD=your_password \
  -v /opt/seafile-data:/shared \
  -p 8000:8000 \
  -p 8082:8082 \
  seafileltd/seafile:latest 

注意:這裡埠的對映,早期文件給的是一個埠,而我們需要配置兩個埠。伺服器域名/郵箱/密碼都按照真實情況設定即可。

6.開啟防火牆策略/安全組策略

基本同上,根據實際需要修改建立seafile的引數即可,伺服器域名可以去註冊一個,如果沒有,直接使用伺服器的公網ip地址也可以。另外要檢查伺服器的防火牆設定是否打開了對應埠。
firewall-cmd --zone=public --add-port=8000/tcp --permanent 
firewall-cmd --zone=public --add-port=8082/tcp --permanent 

firewall-cmd --reload 

注意:如果是ECS環境,要同時放開安全組策略對應埠的限制。

總結:最終我測試seafile在不同電腦之間同步指定資料夾,效果可以完全cover自己同步的需求。另外最大的感受是還沒有太多的瞭解細節,就部署完成上線使用了,這主要得益於docker的優勢。