docker desktop 安装部署及使用

发布时间 2023-06-05 23:19:06作者: 娜娜99

工作中没有使用过docker desktop, 不过对docker还是比较了解的。参与的一个大数据管理平台的项目(linux环境),内部使用了docker+k8s技术,所以在测试中会经常使用docker命令来辅助查看一些大数据组件及实例的运行情况。

和其他人交流的时候了解到了docker desktop软件, 看很多公司招人的时候,也都会要求会docker安装部署和使用,于是自己也学习了一下。本身对docker有一定的了解,所以docker desktop软件学习和用起来,也不是很难

docker desktop软件的使用场景:

1)、对于我这个测试人员来讲,其实主要是在学习一些软件的时候,通过docker 下载对应软件的镜像,然后运行起来就可以使用了。所以为什么要用docker去下载?第一是感觉简单,直接使用一个docker 的pull 命令和 docker的 run 命令,就完事了。也不需要你去网上费劲去找下载网站、下载、安装。第二就是有一些软件会存在一些依赖软件,而通过docker 下载的镜像,是把软件及软件的一些依赖的打包成镜像,然后运行即可。所以不需要你去搞一堆的依赖。

下面记录一下docker desktop 安装部署的过程, 以及docker desktop 中 镜像的管理、容器管理、容器的启动的介绍

1、docker desktop 安装部署

因为docker desktop 是可以部署在windows 上来运行docker的应用服务的,其基于windows 的 Hyper-V 服务和WSL2内核的Windows上创建一个子系统(linux),从而实现其在windows上运行docker。所以电脑上需要开启Hyper-V 服务,和安装WSL2

开启Hyper-V 服务:控制面板—程序—程序和功能—启动或关闭Windows功能 中 勾选【Hyper-V】和【容器】选项。

配置完毕后,重启电脑

我电脑上已经装了wsl 所以这里不讲怎么装了(自己百度把)

2、下载并安装 docker desktop for windows

打开网址  https://docs.docker.com/desktop/install/windows-install/   进行下载windows版,如下图

下载完毕后,双击进行安装, 安装完毕后重启电脑

重启电脑后如下。点击accept 按钮

打开 docker desktop, 报错如下,报错意思是:wsl kernel 版本低,需要进行更新。

解决方法:以管理员的身份打开控制台(cmd),并执行命令 wsl --update 进行更新

如上图中提示,wsl 更新成功后,需要对wsl重启后才会更新生效。可以执行 wsl --shutdown 进行关闭wsl (我执行命令后又重启了一下电脑。)

重启后,再次打开 docker desktop即可

如果电脑windows 10 的企业版的话,以上的安装部署就完毕了, 但我在安装windows 10 家庭版的时候,报错。网上查的意思是说 docker 必须安装在win10 企业版本,如果想安装在家庭版本上,需要如下操作: 打开注册表编辑器,在“ 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion ” 下找到 EditionID  ,数值数据改为Professional即可。

 

3、docker desktop 配置镜像源

配置镜像源:设置--docker engine 中,添加如下图所示的镜像源地址。

 

4、使用docker desktop

1)containers介绍如下

点击上图中的容器名称,例如「mysql_cn」,会进入到如下图所示的容器页面。展示了此容器的一些信息和 操作按钮,点击「Logs」的tap页,会显示此容器的运行日志。容器日志直接展示在页面上,就方便查看了(一般也可以在后台通过docker命令来查看日志信息。不过命令查看有点麻烦,看起来也不太方便)

 terminal 是容器的终端(即已经在容器里面了), 可以在终端上执行一些mysql的命令,进入到mysql 执行sql语句。

一般如果不通过这个终端的话,需要在控制台上先通过docker 命令进入到容器内部,然后再在容器内部使用mysql命令

所以terminal 的好处就是省略了 docker命令进容器的步骤。还是比较方便的。 

 

 

2)images 介绍如下

一个镜像可以启动多个容器,可以设置不同的容器名称,比如为可以启动两个mysql容器这样就有两个mysql容器在运行,两者运行互不干扰

 通过镜像启动一个容器:

 

如下图,通过镜像启动一个容器时,只配置了容器名和环境变量信息,没有配置端口映射。但是容器也是可以启动的。 (个人理解:端口映射的目的是为了其他电脑访问本机的mysql_2 容器时,是通过 本机ip +映射端口来访问的。映射端口 是映射到了 mysql_2容器的端口。这样就可以访问容器中的mysql 了。 但如果容器本身不需要被访问的话,容器自己运行,我通过控制台使用docker 命令来进入到容器内容,使用mysql的命令进入到mysql 中来操作mysql ,也是可以的。)

不过,正常的使用情况是需要配置端口映射的。下图中,端口配置中,有两个端口需要配置端口映射,一个是3306,一个是33060端口。查看一下资料,两个端口是分别使用不同的协议来进行通信的。通常我们使用的都是3306, 所以只配置3306端口的映射即可(在输入框中输入一个端口号,前提是未被占用的端口号; 或者直接输入个0 ,会随机分配一个端口号)。

 

还有一些其他的功能,目前也使用不到,这里先不做记录和讲解了。后续用到了再记录吧;