数码之家

 找回密码
 立即注册
搜索
查看: 2239|回复: 34

Winnas进阶篇—玩转docker

[复制链接]
发表于 2023-8-27 17:57:04 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 badcrazy 于 2023-8-29 22:27 编辑

大家都知道docker是linux的产物,win想玩转docker目前有三条路,1虚拟机、2wsl、3docker desktop,其中2和3对系统有要求,都是win10某个小版本以上,而且说到底也是基于hyper-v的虚拟机,所以说来说去win下要玩docker就是虚拟机跑linux一条路。

一、虚拟机软件选择
win下三大虚拟机,hyper-v、vmware、vbox。在xp时代就在玩虚拟机的应该知道connectix virtual pc,微软收购了这个软件后来就有了hyper-v,在vpc时代,他的特色就是内存性能一骑绝尘,但是磁盘性能稀烂,现在整合进了windows,各方面的性能都不错,但是不支持usb十分别扭,所以我一直不喜欢用。vmware,老牌虚拟机,目前公认性能最佳。vbox,开源的,但性能三者里最迟啊,一般不推荐。所以hyper-v还是vmware看你喜欢。
首先玩虚拟机建议8g内存,4g能跑,但是内存很捉急,一般不建议。我配置大家知道j1900,最近弄了根白菜8g,系统winserver 2012 r2,虚拟机选了vmware12,最新的版本是17,但是我这个配置老,系统老,追新没意思。

二、虚拟系统的选择
就像linux下虚拟win大家要选精简版一样,我们虚拟linux也要一个精简的系统,特别我们只需要docker功能。所以各种商业版就不用考虑了,那么最近很火的armbian呢?确实可以,但是armbian x86的安装镜像就有700m,参考arm,安装后1.Xg磁盘空间建占用是没跑了,这还是没跑任何服务的状态那么还有更合适的吗?
这里我推荐openwrt,没错,就是软路由刷的系统,简称op,为啥推荐?op是一个高度定制化的精简linux系统,资源占用极低,就给大家看下官方op刷完并汉化后的占用,内存占用170m,磁盘占用19m,是不是很意外?
op1.jpg
装完docker并启用(启用docker,并没跑容器)后的占用内存占用220m,磁盘占用270m
op5.jpg
这么点占用就搞定了docker环境,反正我不知道还有哪个系统可以。
三、搭建教程
简单说下过程,我的选择是官方op,因为只要docker,不需要乱七八糟功能,官方自然最纯净最合适,当你们也可以自己编译或者选别人编译的op,我就拿官方op来说下
1、去清华源下载op,因为op22.03防火墙更换为nftables,而docker目前还没支持,会导致容器映射端口失败,所以选择22.03前一个版本21.02
Index of /openwrt/releases/21.02.7/targets/x86/64/ | 清华大学开源软件镜像站

我选择openwrt-21.02.7-x86-64-generic-ext4-combined-efi.img.gz,解压缩得到img,用StarWind V2V Converter转换为一个120m的vmdk,新建虚拟机,加载这个磁盘镜像,另外新建一个磁盘,作为你将要使用的磁盘,我建了一个16g的,网络选桥接,这样虚拟机可以和所有设备在同一个网段。
2、启动完成后看下路由器有没有新设备,有跳过,没有需要设置下lan口为dhcp。在虚拟机里敲下回车,出现命令行,输入
uci set network.lan.proto=dhcp
uci commit network
这是把lan口设置为dhcp并保存
然后reboot重启,虽然可以重启网络,但是reboot就6个字母,方便。
3、根据路由器上看到ip地址用ssh软件连接,用户名root,默认没有密码
首先输入sed -i 's/downloads.openwrt.org/mirrors.tuna.tsinghua.edu.cn\/lede/g' /etc/opkg/distfeeds.conf把源切换到清华镜像
然后opkg update && opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade && opkg install luci-i18n-base-zh-cn luci-i18n-opkg-zh-cn luci-compat luci-lib-ipkg 完成升级并安装中文语言包并安装lcui兼容包,这个包是因为很多国内你懂的软件都是老luci,需要兼容
4、输入opkg install fdisk kmod-fs-ext4 block-mount,这是安装分区软件和挂载点
然后fdisk -l看下磁盘,vm下一般显示 /dev/sdb,然后fdisk  /dev/sdb进行分区,先输入m出菜单,然后g建gpt磁盘,n建立分区,
一般输入1分一个就行了,最后按w保存退出,分区后mkfs.ext4 /dev/sdb,完成后reboot重启
5、重启后在挂载点把/dev/sdb挂载为/也就是root
op3.jpg
保存并应用后系统会提示你输入一堆命令,复制下来,记住把里面的sdb1改为实际的分区名,比如这里是sdb,然后在ssh一次性输入一下啊命令

mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sdb /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot
完成后reboot重启
6、重启后看下磁盘空间是不是变成了修改后的15.xg,不再是120m,发现官方源的dockerman有问题,菜单显示不全,建议用我附件里的安装

确认无误后把附件下载后解压缩的luci-app-dockerman_v0.5.26_all.ipk用winscp上传到/tmp,然后ssh上去
cd /tmp
opkg update && opkg install *.ipk
op4.jpg
dockerman整体和portainer比较接近,但是更强大,比如可以手动添加,也可以直接输入命令(就是docker run -d --name=xxx这样的)新建容器,配置项目也更直观丰富,安装过程也全程显示,就像在ssh一样


docker1.jpg
有容器更新按钮,可以一键自动更新镜像并重建容器,可以说对小白和专家都十分友好,对比portainer和fast os,个人认为dockerman是最佳docker面板,没有之一,可惜daocker没法通过docker部署,而是一个luci插件,也就是说,op专用
到此docker环境就搭建好了,怎么玩这里就不说了,各种教程自己找

最后发一下物理机的资源占用情况,夸克在同步,nasacb在做人脸识别,vm跑着op也就这样,除了没有下载,这基本上就是我nas的满负荷状态了
nas.jpg
资源占用最大的也是夸克和nascab
nas2.jpg
windows没那么可怕,什么没有32个g跑不了虚拟机完全是笑话


dockerman附件

luci-app-dockerman_v0.5.26_all.zip (58.82 KB, 下载次数: 6)










打赏

参与人数 1家元 +90 收起 理由
家睦 + 90

查看全部打赏

发表于 2023-8-27 18:14:07 | 显示全部楼层
docker还是PVE吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-27 18:21:28 | 显示全部楼层

j1900玩什么pve,至少win让他全速跑吧
回复 支持 反对

使用道具 举报

发表于 2023-8-27 18:52:32 | 显示全部楼层
谢谢楼主的详细教程,学习了
回复 支持 反对

使用道具 举报

发表于 2023-8-27 20:49:21 | 显示全部楼层
我5g硬盘还不是一样玩docker,直接用archlinux
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-27 21:20:08 | 显示全部楼层
dsxmg1990 发表于 2023-8-27 20:49
我5g硬盘还不是一样玩docker,直接用archlinux

换op,你的5g硬盘可以当6g
回复 支持 反对

使用道具 举报

发表于 2023-8-27 21:47:50 | 显示全部楼层
可以考虑下win下hyperv dsm 5.2,dsm再启用docker.
nas功能由dsm支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-27 21:57:02 | 显示全部楼层
fzg001 发表于 2023-8-27 21:47
可以考虑下win下hyperv dsm 5.2,dsm再启用docker.
nas功能由dsm支持。

这种套娃最没意义,白白浪费性能,这样何必用win?直接黑裙就行了
回复 支持 反对

使用道具 举报

发表于 2023-8-27 22:03:02 | 显示全部楼层
badcrazy 发表于 2023-8-27 21:57
这种套娃最没意义,白白浪费性能,这样何必用win?直接黑裙就行了

对大神来说,的确,多重套娃。不过,对本人这样不熟悉linux的小白来说,可以通过nfs将win里的文件挂载到黑裙里,即使黑裙崩了,文件仍可以在win里看到,多一重安心。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-27 22:18:42 | 显示全部楼层
fzg001 发表于 2023-8-27 22:03
对大神来说,的确,多重套娃。不过,对本人这样不熟悉linux的小白来说,可以通过nfs将win里的文件挂载到 ...

那又何必用黑群?直接win系统做nas也足够了
回复 支持 反对

使用道具 举报

发表于 2023-8-27 22:20:59 | 显示全部楼层
badcrazy 发表于 2023-8-27 22:18
那又何必用黑群?直接win系统做nas也足够了

从易用性考虑,dsm手机端的app真香。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-27 22:30:30 | 显示全部楼层
fzg001 发表于 2023-8-27 22:20
从易用性考虑,dsm手机端的app真香。

反正三年前我感觉是一塌糊涂,dsfile连单边同步都做不到,手机上删除dsm里的也没了,这种备份功能要来何用?
回复 支持 反对

使用道具 举报

发表于 2023-8-29 19:19:35 | 显示全部楼层
学习了,谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2023-8-30 15:12:51 | 显示全部楼层
等高手解答
回复 支持 反对

使用道具 举报

发表于 2023-9-2 12:03:52 来自手机浏览器 | 显示全部楼层
j1900的话,推荐op直接写硬盘
回复 支持 反对

使用道具 举报

发表于 2023-9-3 06:14:18 | 显示全部楼层
群晖不咋会玩,准备把NAS上WIN10养老了。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-3 22:32:56 来自手机浏览器 | 显示全部楼层
digitking 发表于 2023-9-2 12:03
j1900的话,推荐op直接写硬盘

这是在说winnas
回复 支持 反对

使用道具 举报

发表于 2023-9-5 08:23:46 | 显示全部楼层
很有启发。顺便问一下,win自身内存开机占用多少?
回复 支持 反对

使用道具 举报

发表于 2023-9-5 09:01:44 | 显示全部楼层
感谢,又学到了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-27 16:00 , Processed in 0.327601 second(s), 20 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表