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
相关推荐
蝎子莱莱爱打怪14 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
chlk12321 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑21 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github