Windows安装Docker、自定义安装目录

目录

  • 前言
  • 一、Docker安装包下载
  • 二、自定义Docker安装路径、设置到其他盘
  • 三、安装Docker
  • 四、安装后配置
    • 1.修改镜像保存路径
    • 2.自定义镜像源(可选)
  • 五、Docker运行验证
    • 1.docker/welcome-to-docker
    • 2.MySQL服务
  • 总结

前言

Docker是一种开源的容器化平台,可以让开发者使用容器的形式创建、部署和运行应用程序。容器是一种轻量级的、独立的可执行软件包,包括运行应用程序所需的所有内容,包括代码、运行时、系统工具、库和设置。本文主要介绍了Windows平台下Docker的安装过程,包括安装包下载、自定义安装路径、安装过程、安装后配置和运行验证。

一、Docker安装包下载

Docker安装包直接在官网https://www.docker.com/products/docker-desktop/下载即可,默认下载最新版本,但是最新版本可能存在一些问题,因此可以下载稍微老一点的版本、更加稳定,此时可以到Release Note页https://docs.docker.com/desktop/release-notes/下载指定的版本,例如我这里选择的v4.23.0,链接为https://docs.docker.com/desktop/release-notes/#4230,页面如下,右侧为各个版本,直接点击框中Windows按钮链接下载即可。
docker release note

二、自定义Docker安装路径、设置到其他盘

Docker在Windows上的默认安装路径为C:\Program Files\Docker,并且在安装过程中无法进行指定,但是一般安装软件需要安装到其他盘、减少系统盘C盘的占用,此时需要通过类似于Linux系统创建软链接的方式将路径C:\Program Files\Docker映射到其他盘。步骤如下:

1.打开CMD
Win键+R键快捷打开运行窗口,输入cmd,同时按快捷键CTRL+SHIFT+Enter,即可以管理员身份打开Windows自带的cmd命令行:
在这里插入图片描述
注意:需要保证以管理员身份打开命令行,否则执行创建软链接命令时会提示拒绝访问。,无法创建成功。

2.执行命令创建软链接
将默认安装路径C:\Program Files\Docker链接到其他盘的目录,例如我这里安装到E盘,则可以指定为E:\Docker,完整的命令如下:

mklink /j "C:\Program Files\Docker" "E:\Docker"

可以根据自己的需要指定要链接到的路径,后面虽然安装路径还是C:\Program Files\Docker,但是实际上安装文件所在的位置是在自定义的路径(例如E:\Docker)下。

运行示例如下:

C:\WINDOWS\system32>mklink /j "C:\Program Files\Docker" "E:\Docker"
为 C:\Program Files\Docker <<===>> E:\Docker 创建的联接

此时C:\Program Files路径下就多了名为Docker的目录,并且标记为链接:
软链接示意

3.创建自定义路径
在创建好软链接后,需要保证自定义路径是存在的,因此如果不存在,需要手动创建该文件夹,我这里就需要在E盘下手动创建好Docker目录,同时尽量保证目录是空的。

4.查看各个盘的使用信息
为了证明Docker确实被安装到其他盘、而非默认的C盘,在安装前 查看各个盘的使用情况,如下:
安装前

三、安装Docker

直接双击Docker的安装包进入安装流程:

1.点击OK开始安装
点击OK

2.进入安装等待界面
这个过程可能时间较长,耐心等待即可。
进入安装等待界面

3.安装完成
点击close按钮即可结束安装流程:
在这里插入图片描述

在较新版本的Windows系统可以使用WSL(Windows Subsystem for Linux,适用于Windows的Linux子系统)运行Docker,如果没有安装WSL,较新版本的Docker会在安装Docker的 过程中自动安装WSL

4.查看验证磁盘占用情况
可以看到,此时C盘占用几乎没有变化,而E盘可用少了3G,即Docker安装文件占了3G空间,相对较大,同时也说明Docker被成功安装到了E盘。
再次查看磁盘
5.重启Windows系统
安装好之后,为了使Docker的各个安装项(包含WSL)生效,需要重启电脑

四、安装后配置

1.修改镜像保存路径

在使用Docker的时候,会下载很多镜像,但是镜像的默认保存路径还是C盘,需要进行修改。
1.首次运行Docker
点击桌面Docker Desktop图标运行Docker,被迫点击接受条款按钮:
接受条款
登录注册页,可以登录,也可以直接点击跳过登录:
在这里插入图片描述

个人信息可选填,也可直接跳过:
信息收集页
2.进入设置页设置镜像保存路径
点击右上角设置按钮:
docker set
进入设置页,点击Resources选项:
docker set resource
可以看到,镜像默认保存路径在C盘。
点击Browse按钮,选择自定义的其他盘路径,可以在之前选择的自定义路径下创建一个子目录wsl,即E:\Docker\wsl

操作完成如下:
docker set image path
Docker会自动在选定的目录下增加子目录DockerDesktopWSL。最后点击Apply & restart按钮重启Docker即可生效。

2.自定义镜像源(可选)

因为Docker的默认镜像下载地址为国外,国内下载很慢,因此可以设置国内的镜像地址。
设置页的打开方式与前面类似,进入设置页点击Docker Engine选项,如下:
docker set image source
在默认配置的基础上增加配置如下:

{"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.mirrors.ustc.edu.cn","https://cr.console.aliyun.com","https://mirror.ccs.tencentyun.com"],"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false
}

输入之后同样点击Apply & restart按钮重启Docker使其生效,如下:
docker set image custom
设置国内镜像源之后,后面下载镜像速度就会更顺畅。如果可以科学上网,也可以直接跳过该步骤、直接使用科学上网,速度更快。

五、Docker运行验证

在Docker安装配置好之后,可以运行简单的demo进行验证。

1.docker/welcome-to-docker

Docker官方提供了一个简单Demo,即welcome-to-docker,是一个为想要了解Docker的新Docker用户提供的示例项目,可以通过搜索获取。找到对应的镜像之后,可以在图形界面中运行,点击右边的Pull按钮拉取下来、再运行,也可以直接点击Run按钮同时执行下载和运行流程。第1种方式如下:
welcome-to-docker Search

输入本地端口号如下:
welcome-to-docker port

运行成功后,容器页显示如下:
应替换

运行启动之后,会将本机的8088端口与容器的80端口进行映射,因此在浏览器中直接输入http://127.0.0.1:8088/或http://localhost:8088/即可访问到Docker的欢迎网站,如下:
welcome-to-docker congratulation
显然,此时已经运行成功,完结撒花,说明Docker的安装也是成功的。

除了上面在Docker Desktop图形化界面运行的方式,也可以在命令行中运行:

docker pull docker/welcome-to-docker
docker run -d -p 8088:80 --name welcome-to-docker docker/welcome-to-docker

2.MySQL服务

如果要在本地安装MySQL,可以通过下载MySQL官方的服务端和客户端安装包进行安装,也可以通过集成工具如PHPStudy进行安装,除此之外,也可以使用Docker安装,直接下载MySQL镜像并配置运行即可。步骤如下:
首先拉取MySQL镜像,搜索并点击Pull按钮,如下:
拉取MySQL
拉取完成后,即可在镜像列表中查看下载下来的MySQL镜像,此时可以点击右侧的运行按钮开始运行,如下:
MySQL Image
在弹出的窗口中输入本地端口和root用户密码即可运行MySQL容器:
MySQL run input
运作成功后界面如下:
MySQL run success log
此时可以使用MySQL连接工具进行连接,例如使用数据库可视化软件Navicat(如需绿色版,可点击https://download.csdn.net/download/CUFEECR/15120277进行下载)。创建MySQL连接如下:
navicat MySQL new
输入连接信息,如下:
navicat connection input
其中,连接名可以自定义,主机可以是127.0.0.1,也可以是localhost,端口为之前设置的本地端口3306,用户名为root、密码为运行MySQL设置的123456。

输入之后点击测试连接,如果显示连接成功,说明MySQL配置运行成功,本地也连接成功,此时点击确定即可保存连接,可以查看MySQL系统数据库信息,如下:
navicat mysql sys
此时可以看到MySQL自带的各个系统数据库,和下面对应的数据表。此时MySQL镜像下载和运行成功,也进一步说明了Docker成功安装到本地。

上面在图形化界面中的操作也可以通过命令来实现同样的效果:

docker pull mysql
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

最后再查看磁盘空间的占用情况:
disk use image
因为此时不仅下载了镜像文件,还运行了容器,容器运行类似于虚拟环境系统运行,需要有对应的系统文件和运行容器所必需的一系列其他环境文件等,会占用一定的硬盘映像空间,而这个空间比镜像文件的实际大小一般会大很多,因此E盘的占用会显著增加。

总结

Docker提供了一种自动化应用程序的部署方式,并通过允许开发人员在与生产环境相同的环境中工作,简化了开发过程。它在DevOps和云计算环境中广泛使用,用于将应用程序打包、分发和管理到多个服务器和平台上。Docker支持在多种系统进行安装,很多时候需要在Windows本地进行Docker的搭建和测试,而Docker对Windows的支持并不十分友好,因此在安装的过程中如果需要自定义安装路径、使用镜像源等,需要自行配置。但是Docker配置好之后,会大大提升开发的效率,减少很多不必要的软件安装,也会使得部署更加方便。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/225311.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序生成二维码并保存到本地方法

微信小程序生成二维码请保存到本地方法 官方weapp-qrcode插件 github链接 功能完成样子 wxml <view class"qrcode"><canvas style"width: 275px; height: 275px;" canvas-idmyQrcode></canvas> </view> <view class" …

【攻防世界-misc】János-the-Ripper

1.下载并解压桌面 2.用记事本打开misc100&#xff0c;可以看见文件里面是有flag.txt文件的&#xff0c; 3.将文件复制到虚拟机kali中&#xff0c;使用命令&#xff1a;binwalk -e 桌面/misc100 4.解压完以后打开桌面&#xff0c;会出现一个分离后的文件夹&#xff0c;打开文件…

Matplotlib散点图的创建_Python数据分析与可视化

Matplotlib散点图的创建 plot绘制散点图scatter画散点图plot与scatter效率对比 plot绘制散点图 散点图也是在数据科学中常用图之一&#xff0c;前面的文章我们学习了使用plt.plot/ax.plot画线形图的方法。同样的&#xff0c;现在用这些函数来画散点图&#xff1a; x np.lins…

重生奇迹MU魔法师操作技能

重生奇迹MU魔法师增加伤害加点方式 一、智力敏捷加点&#xff1a;2点智力1点敏捷&#xff0c;这种加点就是智敏结合的加点了&#xff0c;属性是不错的&#xff0c;提升了非常多的属性点&#xff0c;智力是偏重输出的&#xff0c;也是法师最常见的一种加点了&#xff0c;输出伤…

基于可穿戴的健康监护终端--研究进展报告

基于可穿戴的健康监护终端--研究进展报告 1 引言2 传感器介绍2.1 呼吸速率传感器2.2 温度传感器2.3 心脏跳动传感器 3 论文介绍3.1 Effective Data Decision-Making and Transmission System Based on Mobile Health for Chronic Disease Management in the Elderly3.2 Design …

OpenCvSharp从入门到实践-(05)通道

目录 1、拆分通道 1.1、实例1-拆分一副BGR图像的通道 1.2、实例2-拆分一副HSV图像的通道 2、合并通道 2.1 实例3-合并通道的顺序不同&#xff0c;图像的显示效果也不通 实例4-合格H通道图像、S通道图像、V通道图像 3、综合运用拆分通道和合并通道 2.2、实例5-只把H通道的…

头插法巧解任意链表区间反转

题目链接&#xff1a;https://leetcode.cn/problems/reverse-linked-list-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 头节点插入法&#xff0c;设置一个虚拟节点&#xff0c;不断循环到要反转的前面一个位置&#xff0c;哪怕是1也能包含进去。接着反…

python如何打乱列表里的元素顺序

可以使用random模块中的shuffle函数来打乱列表里的元素顺序。示例如下&#xff1a; import randommy_list [1, 2, 3, 4, 5] random.shuffle(my_list) print(my_list)运行以上代码会输出一个打乱了顺序的列表。

Java后端开发——MVC商品管理程序

Java后端开发——MVC商品管理程序 本篇文章内容主要有下面几个部分&#xff1a; MVC架构介绍项目环境搭建商品管理模块Servlet代码重构BaseServlet文件上传 MVC 是模型-视图-控制器&#xff08;Model-View-Controller&#xff09;&#xff0c;它是一种设计模式&#xff0c;也…

中低压MOSFET 2N7002KW 60V 300mA 双N通道 SOT-323封装

2N7002KW小电流双N通道MOSFET&#xff0c;电压60V电流300mA&#xff0c;采用SOT-323封装形式。超高密度电池设计&#xff0c;适用于极低的ros (on)&#xff0c;具有导通电阻和最大直流电流能力&#xff0c;ESD保护。可应用于笔记本中的电源管理&#xff0c;电池供电系统等产品应…

实用又好用Mybatis-Plus版的EasyCode模板

1&#xff1a;插件下载 Plugins中搜索EasyCode,并且下载安装 2&#xff1a;模板编写 2.1&#xff1a;entity.vm.java模板 ##引入宏定义 $!{define.vm}##使用宏定义设置回调&#xff08;保存位置与文件后缀&#xff09; #save("/entity", "DO.java")##使…

建筑结构健康监测系统和传统人工监测的区别

在繁华的城市里&#xff0c;建筑结构作为城市生命线的重要一环&#xff0c;其安全与稳定对城市的运转和居民的生活至关重要。为了更好地守护建筑结构的健康&#xff0c;WITBEE万宾自主研发建筑结构健康监测系统让建筑安全&#xff0c;在上一个台阶。 WITBEE万宾建筑结构健康监测…