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
相关推荐
爱网络爱Linux13 小时前
【系列】每天一个 Linux 命令(53)startx 命令
linux·rhce·rhca·linux运维·linux命令大全·红帽认证
ZhengEnCi13 小时前
L2A-一个域名如何访问多台云服务器-子域名、路径前缀与Nginx反向代理选型指南
linux·人工智能
M78佐菲13 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
高亦真14 小时前
今天是学习嵌入式的第37天
linux·学习·算法
一个有温度的技术博主14 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
小小的木头人14 小时前
Docker 环境下迁移 containerd 数据目录:从 `/var/lib/containerd` 到 `/data/containerd`
linux·docker
东城居士15 小时前
验证第一个Linux字符驱动程序
linux·嵌入式系统
网硕互联的小客服17 小时前
各个版本的Linux系统如何修改远程端口ssh端口?
linux·运维·服务器·网络
T1mzhou18 小时前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm
Mr小林19 小时前
Docker 安装教程(在线 + 离线)
运维·docker·容器