在Windows平台上搭建Docker开发环境

2023-10-29

本文介绍的是如何在Windows系统上安装Docker运行环境。Docker官方提供了Windows平台上的安装包,这个安装包会打开Windows平台上的HyperV虚拟机。所以如果不喜欢使用HyperV虚拟机或者有需要使用其他虚拟机软件的话,可以自己在Linux虚拟机中安装Docker。

安装Docker

安装Docker For Windows

首先打开Docker下载页面,然后下载Docker For Windows安装包。注意这个安装包是针对最新的Windows 10系统的,如果使用Windows 8之类的,请下载旧版本的Docker。

安装之后可能会弹出这么一个对话框,提示我们说HyperV未开启,询问我们是否要开启HyperV,我们选择是,然后电脑会重启。之后一切就准备就绪了。
未开启HyperV

电脑重启之后,我们应该可以在任务栏上找到一个Docker图标,右键点击选择version会弹出这样的对话框。如此一来,Docker就安装完毕了。

Docker版本

安装Kitematic

右键点击Docker图标,会看到有一项名字叫 Kitematic,这是一个Docker可视化工具,推荐大家安装。我们点击这个菜单项,就会弹出一个对话框提示我们下载Kitematic,然后放到C:\Program Files\Dockder\Kitematic中。

然后打开Kitematic,我们可以看到如下的样子。在这里可以非常方便的下载、开启、关闭Docker镜像。如果你注册了Docker账号的话,还可以上传自己的Docker镜像,让大家一起使用。

Kitematic

使用Docker

设置阿里云加速器

在下载Docker之前,我们需要先配置一下加速器。由于Docker的服务器在国外,所以下载镜像的速度不太理想。国内因此有了很多加速服务,其中最好用的还是阿里云的。我们打开Docker 镜像服务,登录账号之后,获取自己创加速器地址。然后使用docker-machine创建一个新的虚拟机并使用加速器来加速。

docker-machine create --engine-registry-mirror=https://XXX.mirror.aliyuncs.com -d hyperv default

当然如果你有自己的代理的话,也可以直接在Docker设置中设置代理。

安装镜像

我们在Kitematic中搜索hello-world,然后安装。当然如果使用命令行的话也可以,输入docker pull hello-world即可。
docker hello-world

安装完成之后运行docker run hello-world即可看到如下的输出。

hello-world

进入镜像执行环境

在Kitematic中点击一个正在运行的镜像,然后点击右边的EXEC,就可以打开对应的执行环境了。

redis

默认情况下的shell是sh,不太好用。我们可以点击Kitematic下面的docker-cli右边的齿轮图标,然后将shell设置为bash。
docker-cli设置

配置镜像

在镜像右边还有一个车Settings标签,点进来之后可以对镜像进行各种配置,如设置端口号、设置数据分区等等。

配置镜像

利用Docker,我们可以做很多事情。由于很多软件例如Redis之类的,主要设计为在Linux下工作,虽然有Windows下的版本,但是仍然有很多不足之处。利用Docker,我们可以在Linux环境下运行这些程序,又可以在Windows下开发,简直两全其美!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Windows平台上搭建Docker开发环境 的相关文章

  • 如何在 NERDTree 中显示隐藏文件(以句点开头)?

    我怎样才能使NERDTree https github com scrooloose nerdtree显示以 a 开头的文件 时期 我有一个名为 hgignore在项目目录中 如果我使用 NERDTree 浏览到该目录 该文件不会显示在树中
  • 如何通过 DOS 批处理命令发送电子邮件?

    我在 DOS 中有一个批处理文件 可以进行一些检查 完成后我需要发送一封电子邮件 我在 interwebz 上找到了一些解决方案 但大多数都是第三方的 或者只是在 Outlook 中打开新邮件 我需要命令来发送完整的电子邮件 而无需任何人工
  • 确定 docker 镜像的操作系统分布

    我需要确定任何 docker 映像的操作系统发行版名称 我可以标记ubuntu 最新 as 图片1 最新 但我应该能够在启动时获取 image1 latest 的分发信息 为了实现这一点 我使用下面提到的命令来确定操作系统版本 docker
  • Docker连接SQL Server容器非零代码:1

    我正在尝试从创建一个 SQL Server 容器docker compose yml但是当我运行它时 它直接停止并出现一些错误 注意 它运行在带有 docker Preview 的 Apple M1 芯片上 docker compose y
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • 为什么 cygwin 无法读取我的主目录中的 .ssh/config 文件?

    我正在使用 cygwin 并且正在尝试设置 ssh config 文件 Cygwin 的文件夹位于我的 C 驱动器中 我的主目录是 C Users USER 我注意到 当我编辑 C Users USER ssh config 时 cygwi
  • 如何检查docker中当前/默认的日志驱动程序?

    我正在尝试检查已停止的 docker 容器的日志 但是当我这样做时docker logs
  • Windows Workflow Foundation 4 (WF4) 延迟

    我正在与 Visual Studio 2010 的候选版本一起使用 Wf4 编写一个用于批准资源请求的新工作流程 在我的工作流程中 如果请求未获得批准 我希望请求在几天后过期 我们在 WF 3 5 Visual Studio 2008 中通
  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • 移动/调整窗口大小时闪烁

    我开发了一个显示 jpeg 图像的应用程序 它可以显示 4 个图像 屏幕的每个象限各一个 为此 它使用了 4 个窗口 窗口没有边框 框架 也没有标题栏 当加载新图像时 窗口大小会根据新图像进行调整 然后显示该图像 尤其是当窗户做得较大时 经
  • “ModuleNotFoundError:我的 Docker 容器中没有名为 的模块”

    我正在尝试在 Docker 容器中运行 python 脚本 但我不知道为什么 python 找不到任何 python 模块 我认为它与 PYTHONPATH 环境变量有关 所以我尝试将其添加到 Dockerfile 中 如下所示 ENV P
  • 无法使用 docker build 运行 gradle 包装器

    我有这个小构建 FROM eclipse temurin 17 jdk as build java COPY java project root project WORKDIR root project RUN chmod x gradle
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • docker build 如何知道 Dockerfile RUN 或 COPY 行是否可以使用缓存?

    如果我的 Python 项目的 Dockerfile 如下所示 FROM python 3 7 Set env variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 S
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 在 Cygwin 软件包列表中找不到 Openssl

    这里说的是https github com joyent node wiki Building node js on Cygwin Windows https github com joyent node wiki Building nod
  • 我可以更改 Windows Docker 容器中的日期和时间吗?

    我正在尝试测试一个在特定时间段内导出文件的软件 我想到使用 docker 容器来提供所需的时间而不是使用系统时间 问题是我缺乏更改容器时间的权限 并出现以下错误消息 PS C usr src app gt Set Date Date Get
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用

随机推荐

  • 【机器学习】浙工商机器学习实验指导(一)

    文章目录 一 实验一 线性回归算法实验 1 1 算法引入 1 2 模拟数据实验 1 3 Boston 数据实验 二 实验二 SVM算法 2 1 算法介绍 2 2 鸢尾花数据实验 三 实验三 集成学习一 3 1 简单介绍 3 2 Breast
  • 在LATEX中优雅地插入MATLAB代码

    利用MATLAB的mcode宏包 即可实现三种插入MATLAB的方式 行内代码 行间代码块 以文件形式插入 mcode包的下载地址 及官方说明 mcode帮助文档 另外Latex中运行代码块 需要lstlisting包 lstlisting
  • 二叉树相关

    二叉树的种类 在我们解题过程中二叉树有两种主要的形式 满二叉树和完全二叉树 满二叉树 满二叉树 如果一棵二叉树只有度为0的结点和度为2的结点 并且度为0的结点在同一层上 则这棵二叉树为满二叉树 如图所示 这棵二叉树为满二叉树 也可以说深度为
  • 【Leetcode】16. 最接近的三数之和

    题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target 找出 nums 中的三个整数 使得它们的和与 target 最接近 返回这三个数的和 假定每组输入只存在唯一答案 题解 解法和 Leetcode 15 三数之
  • 学习了解可能的影响变量,例如收入和体育锻炼对……的影响

    心理健康 资料来源 心理健康正日益成为一个传统上被掩盖的话题 我们已经开始理解心理健康对生产力 总体健康 人际关系和身体健康的影响 并将更多的注意力放在心理健康上 甚至雇主也开始更加重视提供工作环境和条件 以保持员工尽可能快乐和健康 而先进
  • postman中发送post请求保存数据到数据库中文乱码问题

    postman中发送post请求保存数据到数据库中文乱码 postman 以为是header中的问题 加上这俩问题并未解决 以为是数据库的问题 改成这个也没解决 后台打印也没问题 book Book id null type 类别111 n
  • Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could

    Failed to configure a DataSource url attribute is not specified and no embedded datasource could be configured Reason Fa
  • SpringSecurity授权

    目录 一 RABC的介绍 二 权限表设计 三 编写权限控制方法 1 mapper接口 2 映射文件 3 修改认证逻辑 四 配置类访问资源 五 自定义访问控制逻辑 1 自定义 2 配置类 六 注解设置访问控制 1 Secured 1 在配置了
  • Status Code:200 OK (from disk cache)和304的区别,以及怎么禁止缓存

    有时候缓存是 200 OK from disk cache 有时候会是 304 看运维是否移除了 Entity Tag 移除了 就总是 200 OK from cache 没有移除 就两者交替出现 他们两个的区别是 200 OK from
  • C++中rand() 函数的用法

    C 中rand 函数的用法 1 rand 不需要参数 它会返回一个从0到最大随机数的任意整数 最大随机数的大小通常是固定的一个大整数 2 如果你要产生0 99这100个整数中的一个随机整数 可以表达为 int num rand 100
  • ajax的三种方法以及ajax概念

    目录 Ajax技术主要包括 1 客户端脚本语言 JavaScript 2 异步数据获取技术 XMLHttpRequest 3 数据交换和操作技术 XML和XSTL 4 动态显示和交互技术DOM及基于标准的表示技术XHTML和CSS等 aja
  • elasticsearch 启动报错 Exception in thread "main" java.nio.file.AccessDeniedException:

    系统 操作centos7 虚拟机 bin elasticsearch 启动报错 es1 es1 software elasticsearch 6 3 1 bin elasticsearch Exception in thread main
  • 中文版LLaMA:Chinese-LLaMA-Alpaca

    GitHub GitHub ymcui Chinese LLaMA Alpaca 中文LLaMA Alpaca大语言模型 本地CPU GPU训练部署 Chinese LLaMA Alpaca LLMs 以ChatGPT GPT 4等为代表的
  • Uncaught SyntaxError: Unexpected token ")"

    碰到一个很难排查的错误 记得以前处理过 光看报错信息 无法确定报错位置 从网上搜到解决方案 这个一般是对页面操作发生的错误 静态页面不报错 把源代码中的javascript void 改为javascript void 0 括号中添加一个0
  • 在Easy Samples中使用AvaloniaUI进行多平台UI编码——第1部分——AvaloniaUI构建块

    目录 介绍 为什么Avalonia会大受欢迎 Avalonia的一些缺点 Web和Xamarin框架在多平台开发中的缺点 你可以在这篇文章中找到什么 如何阅读这篇文章 使用Visual Studio 2019创建和运行简单的Avalon项目
  • JAVA学习之路遇到的报错信息以及解决方法(持续更新中)

    希望本篇文章对你有所帮助 文章目录 1 web项目启动发现错误 Artifact website war exploded Error during artifact deployment See server log for detail
  • cadence学习笔记(2)-PCB封装库制作

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 PCB封装库制作 二 制作焊盘 二 制作PCB封装 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门技术也越来越重
  • 我和计算机的故事

    为什么我选择了大三转专业 我和计算机的故事 一 我已经不是当年那个泡在生物实验室几乎每天只睡三个小时的章鱼烧了 也不是当年对着蓝框框在NEC笔记本上写 Pascal 一种编程语言 的章鱼烧了 我现在是三天不见到代码就浑身不舒服的章鱼烧 这个
  • 485芯片中slew-rate-limited是什么意思(转)

    边沿斜率限制 也称 压摆率 限制 压摆率 是单位时间 一般用微妙 器件输出电压值可改变的范围 对于485网络 若想提高线路的通讯速度 首先得要求接口器件具有较高的开关速度 而高开关速度必然会有较高的压摆率 但过高的压摆率会带来EMI干扰 这
  • 在Windows平台上搭建Docker开发环境

    本文介绍的是如何在Windows系统上安装Docker运行环境 Docker官方提供了Windows平台上的安装包 这个安装包会打开Windows平台上的HyperV虚拟机 所以如果不喜欢使用HyperV虚拟机或者有需要使用其他虚拟机软件的