Ubuntu下用Docker部署群晖系统—Virtual DSM --zerotier实现连接
1. Docker 安装
安装最新docker
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo docker run hello-world
2.docker-compose 安装
sudo pip install docker-compose
测试安装是否成功
docker-compose --version
3. virtual dsm的dokcer-compose.yml文件撰写
---
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
启动
docker-compose up
可能出现报错Get https://registry-1.docker.io/v2/library/mysql: net/http: TLS handshake timeout
,请对docker的源进行更换
sudo vim /etc/docker/daemon.json
写入:
{
"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
curl -s https://install.zerotier.com | sudo bash
安装成功后会提示:Success! You are Zerotier address
可以通过以下指令更新:
sudo apt-get update zerotier-one
首先,在zerotier官网创建网络,并获得networkid
然后,在ubuntu下使用指令加入网络
sudo zerotier-cli join [xxx networkid xx]
在其他设备也通过networkid加入zerotier,并打开权限,即完成了穿刺
补充:docker常用指令:
启动服务:
docker-compose up #在前台启动服务
docker-compose up -d #启动服务在后台运行
docker-compose up --build #重新构建服务
停止并移除服务、网络、卷和默认镜像:
docker-compose down #停止并移除服务
docker-compose down -v #停止服务并移除卷
暂停服务:
docker-compose pause
取消暂停服务:
docker-compose unpause
查看服务日志:
docker-compose logs #查看所有服务日志
docker-compose logs -f #实时查看日志
启动服务:
docker-compose start
停止服务:
docker-compose stop
重启服务:
docker-compose restart
查看当前服务状态:
docker-compose ps
进入后台运行的容器:
docker-compose exec 容器名 /bin/sh
拉取镜像:
docker-compose pull
构建镜像:
docker-compose build
删除或停止容器:
docker-compose rm
本地系统和容器之间复制文件/文件夹:
docker-compose cp
补充:ubuntu下zerotier常用指令
启动/停止服务
// 启动
sudo systemctl start zerotier-one.service
// 停止
sudo systemctl stop zerotier-one.service
加入网络
// your-networkid 是你的网络ID
sudo zerotier-cli join your-networkid
查看网络列表
sudo zerotier-cli listnetworks
查看当前网络状态
sudo zerotier-cli status
离开网络
sudo zerotier-cli leave your-networkid
设置开启自启动:最好设置一下,这样只需要启动系统,就会自动运行服务
sudo systemctl enable zerotier-one.service