Windows Server 使用Docke部署挂载问题(安装后无限重启崩溃&迁移镜像到D盘&打包镜像)


前言

问题:在windows server中安装遇到了安装后启动后不到一分钟就崩溃的问题,后面查看log发现可能是挂载到本地目录时出现问题,疑似本地目录权限不足导致挂载出问题。可是又不能不挂载,要改镜像中的配置需要先启动容器再改配置。
下面是以我部署过程发现问题,解决问题的思路为阶段讲解,大家可以当故事或者乐子看。

有道是当局者迷,旁观者清,有时我们遇到问题可能会绕几个弯才解决问题。不久后再回忆(再做一遍的时候)又会感叹自己当时的愚笨,明明能一步到位。其实这在科学上也并无道理,当一个人去思考问题的时候大脑就会形成不同的回路,当我们遇到问题解决问题后再都思考相似的问题,就会发现能够快速的处理问题了。
爱因斯坦和我们的区别也就是神经元密度更大,思考一个很难的问题时能快速反应,做出相应的推算、想法。


一、问题:无限重启崩溃

尝试:权限不足?

首先考虑权限问题,第一个就是怀疑远程操作的原因导致权限不足。使用windows远程桌面(右键windows图标-运行-填入mstsc )以及实操发现没问题。(错怪远程软件了,毕竟都2024年了)
在这里插入图片描述
那就去给文件夹赋予当前用户权限,如果这步成功了就可以返回之前的文章手把手教你用Docker搭建gitlab

解决:用Docker-Compose安装并挂载数据卷

我在当时排除了远程链接的问题后就开始寻找其他方法,发现了另一种安装方式,用yml文件提前设置配置再安装。

Docker-Compose是高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具。

利用这种方法成功安装后,如果配置中挂载在本地还是有问题,但天无绝人之路。通过创建数据卷的方式进行了挂载。

docker volume create xxx

docker在容器中管理数据主要有三种方式:

  • 数据卷(Volumes)
  • 挂载主机目录(Bind mounts)
  • 数据卷容器(Data Volume Containers)

后面遇到了ssh配置没开导致下拉上传失败的问题,又将sshd_config文件映射到本地,最后启动后重新执行ssh restart,问题得以解决。(由此看来Docker-Compose并没有直接使用docker安装方便)

二、问题:镜像磁盘默认挂载在C盘

尝试:通过修改Docker修改镜像磁盘到D盘

C盘空间不大,挂载后想修改Disk image location,修改到D盘后Apply,但是又会莫名其妙的恢复,一查发现是需要使用WSL的方式使用docker才能修改,而且修改后之前的镜像会清空,注意存档。在这里插入图片描述
在这里插入图片描述

解决:通过修改docker的settings文件

奈何不能使用,我们去C:\Users\Administrator\AppData\Roaming\Docker下找到settings.json文件,修改其中的dataFolder

在这里插入图片描述
在这里插入图片描述
成功了,不容易。

在这里插入图片描述

五、打包自己的镜像

停止镜像

docker stop d09e2dfcf93

打包保存到当前目录

docker commit d09e2dfcf93 my-template-image
docker save my-template-image > my-template-image.tar

导入镜像

docker load -i my-template-image.tar

查看

docker images

总结

如果是运维人员,学习过系统化的内容,他们可能很容易解决这些小问题。而Unity程序员在自己布置这些问题时,仍然需要记录和整理,作为一种自我提升和学习的方式,共勉之。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值