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.mzph.cn/news/182259.shtml

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

相关文章

预付费远传水表好用还是后付费远传水表好用?

在远传水表市场中&#xff0c;预付费远传水表和后付费远传水表各自具有一定的优势和劣势。接下来&#xff0c;小编就来为大家讲下两者的优劣势&#xff0c;以此来判断到底是预付费远传水表好用还是后付费远传水表好用。 一、预付费远传水表 1.优点 (1)先付费后用水&#xff1a;…

Proteus的网络标号与总线

Proteus为了减少过多、复杂的连线&#xff0c;可以使用网络标号与总线配合使用。 Proteus的导线上添加了网络标号&#xff0c;意味着在Proteus上相同的网络标号是连在一起的&#xff0c;所说在图纸上看不出来。 如下图是比较好的Proteus中使用总线的绘制的图纸。可以效仿着画…

Echarts的引入使用

ECharts文档 1.下载并引入Echarts 2.准备一个具备大小的DOM容器 3.初始化echarts实例对象 4.指定配置项和数据(option) 5.将配置项设置给echarts实例对象 最后是一个js文件 echarts的引入 1.引入echarts - js 文件 <script src"js/echarts.min.js"></scri…

Git和Git小乌龟安装

目录 Git简介 Git安装 Git小乌龟简介 Git小乌龟安装 Git简介 Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地进行从很小到非常大的项目的版本管理。它最初是由Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git具有速度、…

国密加密工业路由器 数据安全升级

国密加密工业路由器&#xff0c;简称国密加密路由器&#xff0c;是指遵循“商用密码管理规范”中规定的国家商用密码算法&#xff0c;采用国密加密芯片和密码算法的专业路由器。相比-般路由器&#xff0c;国密加密路由器具有更高级别的加密保护&#xff0c;可以有效提高数据传输…

Python---练习:求某同学成绩的总分及平均分

需求&#xff1a; 已知某同学的语文(70)、数学(90) 、英语(80)、历史(75)、地理(85)五门课的成绩,编程求该同学的总分以及平均分。 思考&#xff1a; 要求是算总分和平均分&#xff0c;先看总分&#xff0c;已经知道了各科成绩&#xff0c;那么可以用把成绩赋值给每个学科的…

PAT-10道题

PAT算法刷题 1002 1002 一&#xff1a;对于每一的1到6都进行枚举&#xff0c;进行递归操作 二&#xff1a;如果位数到了指定的n的时候&#xff0c;递归的条件&#xff0c;进行判断是否可以整除操作 #include<iostream> #include<algorithm> using namespace std; l…

antd vue a-select 下拉框位置偏移

问题 下拉框未固定 原因 select下拉框的定位是根据body定位 解决方法 在select 标签中添加&#xff1a; :getPopupContainer"(triggerNode) > (triggerNode.parentElement)" :getPopupContainer"(triggerNode) > (triggerNode.parentElement)"…

1-2、计算机组成

语雀原文链接 文章目录 1、计算机组成1-1、主板1-2、接口卡1-3、存储器&#xff08;内存&#xff09; 2、存储器2-1、存储器的重要性2-2、物理存储器2-3、逻辑存储器2-4、内存地址空间的分段2-5、存储单元2-6、指令和数据 3、总线3-1、三类总线3-2、CPU读数据例子3-3、CPU写数…

spring本地事务与单/多线程

请直接看原文 原文链接:多线程与数据库事务以及数据库连接之间的关系 - 知乎 (zhihu.com) -------------------------------------------------------------------------------------------------------------------------------- 今天我们来梳理一下&#xff0c; 多线程、数…

【数据库】基于索引的扫描算法,不同类型索引下的选择与连接操作,不同的代价及优化

基于索引的算法 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏会定期更…

JDK8升级JDK11最全实践干货来了

1、前言 截至目前&#xff08;2023年&#xff09;&#xff0c;Java8发布至今已有9年&#xff0c;2018年9月25日&#xff0c;Oracle发布了Java11&#xff0c;这是Java8之后的首个LTS版本。那么从JDK8到JDK11&#xff0c;到底带来了哪些特性呢&#xff1f;值得我们升级吗&#x…

csapp-linklab之第二阶段“输出学号”实验报告

本阶段主题是链接中的“重定位”。两次重定位&#xff0c;一次是绝对地址重定位&#xff0c;一次是PC相对地址重定位。 本题目标依旧是输出学号&#xff0c;反汇编phase2.o&#xff0c;看到学号“0000000000”已经存放在只读数据区了。现在任务就是改do_pheas的指令和重定位表…

Ubuntu系统Springboot项目Nginx安装(编译安装方式)

1.下载 nginx官网下载 Index of /download/ 2.解压 这里我下载的1.25.3版本&#xff0c;系统是ubuntu 解压 tar -zxvf nginx-1.25.3.tar.gz 3.编译安装 安装前需要执行安装一些系统依赖 3.1安装PCRE库 ubuntu&#xff1a;执行以下命令 sudo apt-get install libpcre…

uniapp2023年微信小程序头像+昵称分别获取

1、DOM <view class"m-user"><view class"user-info"><!--头像 GO--><button class"avatar avatar-wrapper" open-type"chooseAvatar" chooseavatar"onChooseAvatar"slot"right"><im…

我叫:基数排序【JAVA】

1.自我介绍 基数排序(radix sort)属于“分配式排序” (distribution sort)&#xff0c;又称“桶子法” (bucket sort)或bin sort,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,是‘桶排序’的扩展 2.基本思想 将所有待比较数值统一为同样的数位长度,数位较短的数…

专业的调查问卷平台推荐:提升数据收集与分析效率

无论是学生还是职场人士&#xff0c;想做好一份调查问卷&#xff0c;关键先要确定调查的主题&#xff0c;然后确定调查人群&#xff0c;编辑问题&#xff0c;最后能够尽可能的美化问卷调查的主题。 想要做到这几点&#xff0c;就要要求问卷调查平台: 1、能够帮助你快速制作出一…

软件测试测试文档的编写和阅读

在软件测试中的流程中&#xff0c;测试文档也是一个重要的流程&#xff0c;所以测试人员也需要学习测试文档的编写和阅读。 一、定义&#xff1a; 测试文档&#xff08;Testing Documentation&#xff09;记录和描述了整个测试流程&#xff0c;它是整个测试活动中非常重要的文…

年终好价节有什么必买的数码好物?值得入手的数码好物推荐

大家是不是都没听说过好价节&#xff1f;直白点说就是原来的双十二购物狂欢节&#xff0c;只不过换一个说法&#xff0c;不过今年毕竟是第一年换个说法&#xff0c;所以淘宝年终好价节优惠还是值得我们期待的&#xff01;作为年前的最后一波大促&#xff0c;一起来看看有哪些好…

SQL server界面操作链接服务器

1.打开链接服务器&#xff0c;右击连接服务器“新建链接服务器” 2.输入链接服务器名称和数据源 3.安全性中输入密码建立远程连接&#xff0c;点击确定&#xff1a; 4.打开新建的连接服务器&#xff0c;测试连接&#xff1a; 注意:链接服务器必须在局域网执行&#xff0c;不是同…