敏小行
发布于 2023-11-09 / 652 阅读
0

Docker版本使用教程

QQ用户群:594811513 ,更多玩法等你来。

注意:Docker版本仅支持X86&X64,ARM64的设备

如遇到网络问题无法访问Dockerhub 可从此地址直接拉取镜像http://harbor.doaction.pro/doactionpro/solopacegem:latest

1、安装Docker(已安装Docker的可以跳过此步骤)

docker运行环境的安装非本教程重点,仅做简单说明,更多内容可查看docker官方文档: https://docs.docker.com/desktop/

sudo yum install -y docker  #该命令适用于centos8/redhat8以下使用yum包管理工具的linux发行版
sudo dnf install -y docker  #该命令适用于centos8/redhat8以上使用dnf包管理工具的linux发行版
sudo apt-get install -y docker

2、启动Docker并开机自启

sudo systemctl enable docker --now

3、启动并获取加入网络的链接

重要参数

  • TS_DEBUG_FIREWALL_MODE:指定主机的iptables模式,可选值为iptables或nftables,默认为iptables。

  • TS_USERSPACE:布尔型值,启用用户空间网络,而不是内核网络。默认为false,使用内核网络。

通用运行命令

sudo docker run -d --name=SolopaceGem -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --restart=always --cap-add=NET_ADMIN --cap-add=NET_RAW doaction/solopacegem:latest

在nftables模式的主机上运行SolopaceGem容器

如果在较新的linux发行版中运行,主机的的iptables模式可能为nftables,当将SolopaceGem容器作为中心服务器加入网络时,如果使用默认的iptables模式来运行容器,则无法正常开启路由转发功能,因此需要通过TS_DEBUG_FIREWALL_MODE参数指定iptables模式为nftables

如何判断系统iptables类型:

#在主机执行:
iptables -V

如图:

上图中图1为nftables,图2为iptables

如果iptables模式为nftables,则执行以下命令运行SolopaceGem容器

sudo docker run -d --name=SolopaceGem -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun -e TS_DEBUG_FIREWALL_MODE=nftables --network=host --restart=always --cap-add=NET_ADMIN --cap-add=NET_RAW doaction/solopacegem:latest

4、启动并获取加入网络的链接

sudo docker exec SolopaceGem solopacegem status

将上述链接拷贝至浏览器并打开,登录加入网络

5、复制加入网络地址至浏览器

6、选择网络并加入网络

添加成功

7、Docker开启路由转发

8、卸载

docker rm -f SolopaceGem