【服务器】centos7服务器添加docker并部署wekan应用

  1. 1. 安装docker
  2. 2. 使用docker compose安装mongo 以及 wekan
  3. 3. 备份wekan的mongo数据库

有时候有些工作记录的需要,wekan这个看板应用刚刚好。所以决定自己安装以下,考虑了一下为了不影响服务器原始应用正常运行,还是决定使用docker进行安装。

需要做的事情基本上是:

  1. 安装docker
  2. 使用docker compose安装mongo 以及 wekan
  3. 备份wekan的mongo数据库

安装docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 获取yum-config-manager命令 需要使用yum-config-manager命令更新依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

# docker 最新版还是去官网获取比较好 另外在增加一个源 版本不是最新的
# https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# 更新目录
yum makecache fast

# 更新软件
yum update

# 列出所有版本
yum list docker-ce.x86_64 --showduplicates |sort -r

# 安装特定版本的docker
# yum -y install docker-ce-<VERSION_STRING>
# 直接安装最新版本的docker
yum -y install docker-ce

# 移除docker
# yum -y remove docker-ce
# rm -rf /var/lib/docker

# 更新镜像源 这个源地址可以通过阿里云获取
mkdir -p /etc/docker
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
# 需要重新加载镜像源的时候
# sudo systemctl daemon-reload
# 需要重启的时候
# sudo systemctl restart docker

# 启动docker
systemctl start docker

# 测试安装 会显示Hello World
docker run hello-world

# 安装docker-compose
# https://github.com/docker/compose/releases
curl -L https://github.com/docker/compose/releases/download/1.20.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#检查安装
docker-compose --version

使用docker compose安装mongo 以及 wekan

1
2
3
4
5
6
mkdir /home/docker
cd /home/docker
# git文件的域名需要更改为部署服务器的域名
git clone https://gitee.com/liu-lu/wekan-mongodb.git
cd wekan-mongodb
docker-compose up

修改nginx的配置文件,指向10001的代理.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
listen 80;
server_name xxx.xx;
access_log xxx.log combined;

location ~ {
proxy_pass http://127.0.0.1:10001;
proxy_connect_timeout 300s;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
proxy_set_header Referer $http\_referer;
proxy\_set\_header Cookie $http_cookie;
proxy_set_header Host $host;
proxy\_set\_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;
}
}

备份wekan的mongo数据库

备份

1
2
3
4
5
6
7
# 进入mongo
docker exec -it wekandb bash
cd /data
# 备份文件
mongodump
# 复制到本地文件夹
docker cp wekandb:/data/dump .

还原

1
2
3
4
5
6
7
8
# 在容器内
# 复制回去
docker cp dump wekandb:/data/
cd /data
# 还原
mongorestore --drop --db wekan dump/wekan/
# 或者还原到其他mongo的不同端口
# mongorestore --port 11235

欢迎访问博客地址:https://www.zhoyq.com