广告
在大部分类Linux系统中,我们可以通过Docker的方式来部署甜糖。使用Docker部署甜糖的优点在于:
兼容性高,不管是在x86上常见的Ubuntu、CentOs,还是盒子的Openwrt、Armbian系统都能用同样的命令部署;
对物理机系统影响很小,不用时卸载也非常方便;
Docker自带开机启动、升级等功能,可以限制cpu、内存的资源占用。
对于使用Nas、爱快等设备的用户,我们建议直接通过系统提供的管理后台界面部署Docker。该教程主要针对使用命令行部署Docker的方式。
不同的Linux系统安装Docker的命令稍有区别,大家可以通过搜索引擎查找一下。这里简单举几个例子。
yum -y install docker-ce
apt-get install docker-ce
通常我们会选择一个目录来缓存甜糖的数据。推荐使用固态硬盘作为缓存盘,能获得更高的评级。100Mbps的带宽必须使用固态硬盘或内emmc、ufs存储。 我们可以通过该命令查看当前挂载的磁盘情况。lsblk

如上图,我们有个59.5G的磁盘,路径在 /mnt/mmcblk0p1 ,我们可以把缓存目录设置在这里。如果你插上存储设备,但是在MOUNTPOINT这里并没有显示路径,那代表你的设备没有自动挂载成功存储设备,此时我们就必须手动挂载存储设备,以让我们能使用该设备。
先确保U盘/硬盘已经格式化;
使用mkdir命令新建文件夹用作挂载路径(如上图,我们新建了个目录路径在/mnt/mmcblk0p1);
使用mount命令挂载存储设备到该文件夹。
docker run -d \ -v /mnt/mmcblk0p1:/mnt/data/ttnode \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /proc:/host/proc:ro \ --name ttnode \ --hostname ttnode \ --device /dev/mem \ --cap-add SYS_RAWIO \ --privileged \ --net=host \ --restart=always \ -e container_name=ttnode \ registry.cn-hangzhou.aliyuncs.com/tiptime/ttnode:latest
也可以复制以下命令部署
docker run -d -v /mnt/mmcblk0p1:/mnt/data/ttnode -v /var/run/docker.sock:/var/run/docker.sock -v /proc:/host/proc:ro --name ttnode --hostname ttnode --device /dev/mem --cap-add SYS_RAWIO --privileged --net=host --restart=always -e container_name=ttnode registry.cn-hangzhou.aliyuncs.com/tiptime/ttnode:latest
-v /mnt/mmcblk0p1:/mnt/data/ttnode这里的/mnt/mmcblk0p1改为你的设备的缓存目录
-v /var/run/docker.sock:/var/run/docker.sock支持自动更新,不设置则需要手动更新镜像
--name ttnode容器名称,建议自行修改个比较独特的容器名称,尽量不与他人重复,避免冲突
-e container_name=ttnode容器名称,需与上面的name保持一致,否则可能有启动业务失败
docker container ls # 查看所有容器
docker inspect 容器名 -f "{{json .NetworkSettings.Networks.macnet.IPAddress }}" # 查看容器ip http://容器IP:1024 # 浏览器 查看二维码 端口
docker logs -f 容器名 # 查看二维码 端口
docker rm -f 容器名 # 删除容器
docker inspect -f '{{ .Mounts }}' 容器名
# 预期 [{bind /mnt/host/dir /mnt/data/ttnode true rprivate} ......]
# 左边是本机挂载目录 /mnt/host/dir ,右边必须是 /mnt/data/ttnode