Ubuntu下用Docker部署群晖系统---Virtual DSM --zerotier实现连接

Ubuntu下用Docker部署群晖系统---Virtual DSM --zerotier实现连接

1. Docker 安装

安装最新docker

bash 复制代码
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo docker run hello-world

2.docker-compose 安装

bash 复制代码
sudo pip install docker-compose

测试安装是否成功

bash 复制代码
docker-compose --version

3. virtual dsm的dokcer-compose.yml文件撰写

bash 复制代码
---
version: '2.2'
services:
  dsm:
    container_name: dsm
    image: vdsm/virtual-dsm
    restart: always
    environment:
      DISK_SIZE: "200G"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 5001:5000
    volumes:
      - /mnt/dataDisk/MyNAS:/storage
    stop_grace_period: 2m

需要自行更改的参数:
DISK_SIZE: 磁盘大小
ports:串口位置
volumes:储存位置,更改/mnt/dataDisk/MyNAS即可

其中,为了保证电脑开机自启动,添加参数restart: always

4. 启动docker-compose

启动

bash 复制代码
docker-compose up

可能出现报错Get https://registry-1.docker.io/v2/library/mysql: net/http: TLS handshake timeout,请对docker的源进行更换

bash 复制代码
sudo vim /etc/docker/daemon.json

写入:

bash 复制代码
{
        "registry-mirrors": [
                "https://w14ki3ju.mirror.aliyuncs.com",
                "http://hub-mirror.c.163.com",
                "https://registry.docker-cn.com",
                "https://docker.m.daocloud.io"
        ]
}

再次执行docker-compose up完成镜像拉取和启动

即可通过浏览器输入http://localhost:5001/进行群晖系统设置和登录

5. zerotier实现内网穿刺

在zerotier官网https://www.zerotier.com/进行注册登录

ubuntu上安装zerotier
bash 复制代码
curl -s https://install.zerotier.com | sudo bash

安装成功后会提示:Success! You are Zerotier address

可以通过以下指令更新:

bash 复制代码
sudo apt-get update zerotier-one
bash 复制代码
首先,在zerotier官网创建网络,并获得networkid
然后,在ubuntu下使用指令加入网络
sudo zerotier-cli join [xxx networkid xx]

在其他设备也通过networkid加入zerotier,并打开权限,即完成了穿刺

补充:docker常用指令:

启动服务:

bash 复制代码
docker-compose up    #在前台启动服务

docker-compose up -d    #启动服务在后台运行

docker-compose up --build    #重新构建服务

停止并移除服务、网络、卷和默认镜像:

bash 复制代码
docker-compose down    #停止并移除服务

docker-compose down -v    #停止服务并移除卷

暂停服务:

bash 复制代码
docker-compose pause

取消暂停服务:

bash 复制代码
docker-compose unpause

查看服务日志:

bash 复制代码
docker-compose logs    #查看所有服务日志

docker-compose logs -f    #实时查看日志

启动服务:

bash 复制代码
docker-compose start

停止服务:

bash 复制代码
docker-compose stop

重启服务:

bash 复制代码
docker-compose restart

查看当前服务状态:

bash 复制代码
docker-compose ps

进入后台运行的容器:

bash 复制代码
docker-compose exec 容器名 /bin/sh

拉取镜像:

bash 复制代码
 docker-compose pull

构建镜像:

bash 复制代码
docker-compose build

删除或停止容器:

bash 复制代码
docker-compose rm

本地系统和容器之间复制文件/文件夹:

bash 复制代码
docker-compose cp
补充:ubuntu下zerotier常用指令

启动/停止服务

bash 复制代码
// 启动
sudo systemctl start zerotier-one.service
// 停止
sudo systemctl stop zerotier-one.service

加入网络

bash 复制代码
// your-networkid 是你的网络ID
sudo zerotier-cli join your-networkid

查看网络列表

bash 复制代码
sudo zerotier-cli listnetworks

查看当前网络状态

bash 复制代码
sudo zerotier-cli status

离开网络

bash 复制代码
sudo zerotier-cli leave your-networkid

设置开启自启动:最好设置一下,这样只需要启动系统,就会自动运行服务

bash 复制代码
sudo systemctl enable zerotier-one.service
相关推荐
刘某的Cloud9 分钟前
k8s部署prometheus架构规则
linux·运维·kubernetes·prometheus·监控
mounter62520 分钟前
从 2026 LSFMM/BPF 峰会看 eBPF 生态演进:技术变革、工具全景与资源泄漏诊断实战
linux·linux kernel·kernel
M78佐菲24 分钟前
Linux学习笔记:网络通信
linux·笔记·学习·算法
索西引擎28 分钟前
基于 Docker 容器化的 MySQL 数据库部署与访问控制机制研究
数据库·mysql·docker
AAA代码批发商34 分钟前
Days37 Linux C 网络编程:UDP、TCP 与 HTTP 协议实战详解
linux·c语言·网络
好评12443 分钟前
【Linux】传输层协议UDP
linux·运维·udp
Csxyzj1 小时前
基于Linux+Docker NAT的Ollama多实例负载均衡部署
运维·docker·容器
GreatVicent1 小时前
AI Agent互操作标准化加速:A2A协议正式加入Linux基金会
linux·运维·人工智能·agent·aws·a2a
奇树谦2 小时前
Seaweed中filer.sync原理
linux·服务器·网络
Huangjin007_2 小时前
【Linux 系统篇(十六)】进程(四) : 僵尸进程、孤儿进程、进程优先级
linux·运维·服务器