docker安装经历

docker安装经历

==============

为了能够避免配置环境的麻烦,老师已经将进行图像识别的相关环境打包成了docker镜像文件,只需要将镜像文件装好就配置好了实现图像识别的相关环境,所以首先必须实现镜像的加载。-
由于我的电脑是win11家庭版,以下经验只针对win11家庭版,win11专业版或者linux系统的操作可能会更加简单

方案一:docker desktop+wsl

1、wsl安装

参照链接https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package 中的4、5步进行操作

2、Hyper-V安装启用

对于win11专业版,本身就自带Hyper-V,而对于家庭版,还需要进行手动操作。新建一个文本文档,名字随便起,然后将下面的代码复制到文件中去;将文本文档的后缀名改为 (cmd 或 bat),然后以管理员的身份运行文件;重启电脑,并前往控制面板查看-
pushd "%~dp0"-
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt-
for /f %%i in ('findstr /i . hyperv.txt 2^>nul') do dism /online /norestart /addpackage:"%SystemRoot%\servicing\Packages\%%i"-
del hyper-v.txt-
Dism /online /enable-feature /featurename:Microsoft-Hyper-VAll /LimitAccess /AL

3、docker desktop安装

前往docker官网https://www.docker.com/ 下载安装,如果第一次登陆还需要在官网进行账号的注册。-
安装完成后,如果曾经安装过docker toolbox软件,在cmd中输入docker时会出现如下报错-
error during connect: Post "https://192.168.99.100:2376/v1.24/images/load?quiet=0": dial tcp 192.168.99.100:2376: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.-
此外,打开docker desktop软件会一直卡在starting the docker engineer的画面(由于未截屏,问题已解决,缺乏照片)-
需要首先将docker toolbox卸载,并且将下图框中的几个环境变量删除

-
我就是因为安装过docker toolbox所以导致多次镜像安装不成功,并且打开docker desktop时卡在开始界面-
除此以外,还可以参照这篇文章检查一下自己的电脑之后再进行之后的操作https://blog.csdn.net/bindandan/article/details/109167328

4、进行镜像的加载

各镜像的路径不同,再cmd或powershell加中载镜像的命令为docker -i load path,path为镜像文件的路径。加载完成后,可以用命令docker images查看镜像,应为下图所示

-
可以看到repository和tag都是none。REPOSITORY :表示镜像的仓库源。-
TAG :镜像的标签,通俗的讲就是该镜像的版本。在docker中除了REPOSITORY和TAG还有另一个概念REGISTORY。这些概念究竟是什么意思呢?-
我们常说的“ubuntu”镜像其实不是一个镜像名称,而是代表了一个名为ubuntu的Repository,同时在这个Repository下面有一系列打了tag的Image,Image的标记是一个GUID,为了方便也可以通过Repository:tag来引用。

那么Registry又是什么呢?Registry存储镜像数据,并且提供拉取和上传镜像的功能。Registry中镜像是通过Repository来组织的,而每个Repository又包含了若干个Image。总的来说,Registry包含一个或多个Repository,Repository包含一个或多个Image,Image用GUID表示,有一个或多个Tag与之关联-
在之后的映射中还需要用到Repository和Tag,所以这里需要对其进行重命名,命令为docker tag Repository_name:Tag_name。重命名后,可以建立端口、目录的映射,使得主机可以访问容器内的服务

方案二:Vmware中的虚拟机Ubuntu22

由于方案一中先安装了docker toolbox的问题,docker desktop无法打开,另外寻找了一种解救办法

1、Ubuntu中安装docker

参考https://docs.docker.com/engine/install/ubuntu/

2、Ubuntu中加载镜像文件

将镜像文件拷贝到虚拟机的目录下后,与方案一类似,只是要在命令前加上sudo,当然,也可以参考https://docs.docker.com/engine/install/linux-postinstall/ 将docker给没有sudo权限的user使用,也就不用再加sudo了