命令行部署Docker版甜糖

未分类3年前 (2022)更新 ypng
57 0 0

在大部分类Linux系统中,我们可以通过Docker的方式来部署甜糖。使用Docker部署甜糖的优点在于:

  1. 兼容性高,不管是在x86上常见的Ubuntu、CentOs,还是盒子的Openwrt、Armbian系统都能用同样的命令部署;
  2. 对物理机系统影响很小,不用时卸载也非常方便;
  3. Docker自带开机启动、升级等功能,可以限制cpu、内存的资源占用。

对于使用Nas、爱快等设备的用户,我们建议直接通过系统提供的管理后台界面部署Docker。该教程主要针对使用命令行部署Docker的方式。

一、安装Docker

不同的Linux系统安装Docker的命令稍有区别,大家可以通过搜索引擎查找一下。这里简单举几个例子。

CentOS

yum -y install docker-ce

Ubuntu

apt-get install docker-ce

二、选择缓存目录

通常我们会选择一个目录来缓存甜糖的数据。推荐使用固态硬盘作为缓存盘,能获得更高的评级。100Mbps的带宽必须使用固态硬盘或内emmc、ufs存储。 我们可以通过该命令查看当前挂载的磁盘情况。lsblk

命令行部署Docker版甜糖

如上图,我们有个59.5G的磁盘,路径在 /mnt/mmcblk0p1 ,我们可以把缓存目录设置在这里。如果你插上存储设备,但是在MOUNTPOINT这里并没有显示路径,那代表你的设备没有自动挂载成功存储设备,此时我们就必须手动挂载存储设备,以让我们能使用该设备。

  1. 先确保U盘/硬盘已经格式化;
  2. 使用mkdir命令新建文件夹用作挂载路径(如上图,我们新建了个目录路径在/mnt/mmcblk0p1);
  3. 使用mount命令挂载存储设备到该文件夹。

三、拉取镜像并部署甜糖Docker实例

  -v /mnt/mmcblk0p1:/mnt/data/ttnode \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name ttnode \
  --hostname ttnode \
  --net=host \
  --restart=always \
  --memory=2g \
  tiptime/ttnode:latest

参数解释

  • -v /mnt/mmcblk0p1:/mnt/data/ttnode/mnt/host/dir这里的/mnt/mmcblk0p1改为你的设备的缓存目录
  • -v /var/run/docker.sock:/var/run/docker.sock支持自动更新,不设置则需要手动更新镜像
  • --name ttnode容器名称,建议自行修改个比较独特的容器名称,尽量不与他人重复,避免冲突。
  • --memory=2g限制内存 2g。每100Mbps的上行带宽,推荐使用1.5G以上内存,请根据实际情况设置。

四、 查看 ttnode 状态

docker container ls # 查看所有容器

浏览器

docker inspect 容器名 -f "{{json .NetworkSettings.Networks.macnet.IPAddress }}" # 查看容器ip http://容器IP:1024 # 浏览器 查看二维码 端口

命令行

docker logs -f 容器名 # 查看二维码 端口

删除 ttnode

docker rm -f 容器名 # 删除容器

检查 ttnode 挂载

docker inspect -f '{{ .Mounts }}'  容器名

# 预期 [{bind  /mnt/host/dir /mnt/data/ttnode   true rprivate} ......]
# 左边是本机挂载目录 /mnt/host/dir ,右边必须是 /mnt/data/ttnode 

五、 进阶:通过脚本部署 maclvan 模式(支持多实例)

wget https://gitee.com/shenzhen-sweet-sugar/ttnode-auto-deploy/raw/master/setup_docker.sh
chmod +x setup_docker.sh

# 第一次运行

# --eth 网卡
# --cache_dir 缓存目录
# --ttnode_count  ttnode docker实例数
./setup_docker.sh --eth=eth0 --cache_dir=/mnt/ttnode --memory=1g --cpus=1.5 --ttnode_count=2 


# 之后运行用下面这行即可,保证 mac 地址不变
./setup_docker.sh # 直接读取配置文件
配置文件在 /etc/ttnode/config.txt # 包含 容器名 hostname mac地址等信息
© 版权声明

相关文章

暂无评论

暂无评论...