RunnerGo 内网通过 Docker 部署

微信群有很多小伙伴都问 RunnerGo 要怎么在内网部署,利用五一整理了下具体内容,总的处理就是我一直讲的 docker save + docker load

需提前安装好相关环境。

  1. 利用下方的脚本导出最新的镜像。如果目标服务器架构是 AMD,记得需要用同架构的机器来完成
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh

wget -q https://ghproxy.com/https://raw.githubusercontent.com/Runner-Go-Team/RunnerGo/main/runnergo/docker-compose.yaml -O docker-compose.yaml

images=$(grep -oP '(?<=image: ).*' docker-compose.yaml)

for image in $images; do
echo "导出镜像:$image"
docker pull -q $image
docker save -o $(basename $image) $image
done

rm -f docker-compose.yaml
  1. 查看下我们导出的镜像文件是否存在
1
2
3
4
5
6
7
8
9
10
11
12
$ ls
-rw------- 1 root root 115790848 Apr 30 10:21 collector:releases-v1.0.2
-rw------- 1 root root 132122112 Apr 30 10:19 engine:releases-v1.0.3
-rw------- 1 root root 941123584 Apr 30 10:20 file-server:releases-v1.0.1
-rw------- 1 root root 591425024 Apr 30 10:21 kafka:2.13-3.2.1
-rw------- 1 root root 134375936 Apr 30 10:18 manage:releases-v1.1.0
-rw------- 1 root root 134534656 Apr 30 10:18 manage-ws:releases-v1.1.0
-rw------- 1 root root 442883072 Apr 30 10:18 mongo:4.4
-rw------- 1 root root 510839296 Apr 30 10:17 mysql:5.7.40.v1
-rw------- 1 root root 116372992 Apr 30 10:17 redis:6.2.7
-rw------- 1 root root 206374400 Apr 30 10:18 web-ui:releases-v1.1.2
-rw------- 1 root root 527543808 Apr 30 10:20 zookeeper:latest
  1. 你需要自行把导出的文件迁移到内网服务器上

  2. 对导入的镜像开始解压(新版本会导致名称不一样,记得自己也要变化。docker load -i <file name>

1
2
3
4
5
6
7
8
9
10
11
$ docker load -i collector:releases-v1.0.2
$ docker load -i engine:releases-v1.0.3
$ docker load -i file-server:releases-v1.0.1
$ docker load -i kafka:2.13-3.2.1
$ docker load -i manage-ws:releases-v1.1.0
$ docker load -i manage:releases-v1.1.0
$ docker load -i mongo:4.4
$ docker load -i mysql:5.7.40.v1
$ docker load -i redis:6.2.7
$ docker load -i web-ui:releases-v1.1.2
$ docker load -i zookeeper:latest
  1. 查看服务器镜像列表
1
$ docker images
  1. 运行 RunnerGo
1
2
3
$ git clone https://ghproxy.com/https://github.com/Runner-Go-Team/RunnerGo.git
$ cd RunnerGo/runnergo/
$ docker-compose up -d

启动需要时间,如果一分钟后你访问还没办法正常,可以运行 docker ps -a 查看是否有容器无法正常运行。

往上