Windows下使用Docker容器的踩坑记录

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Windows下使用Docker容器的踩坑记录

看到这个标题,很多朋友就会忍不住问了,为啥不用Linux跑docker? 好吧,不是我不想用,是世界就是这么奇妙,软件需要调用C++中的win32模块,只能是Windows能跑。

还是先来说下如何安装吧,稍稍有点门道,要先启用Hyper-V,再安装Docker。在开始菜单上搜索Hyper-V,找到启用或关闭Windows功能。


image.png


image.png


下载安装Docker Windows版本,先不要着急安装,备用。

https://hub.docker.com/editions/community/docker-ce-desktop-windows


坑0


这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!


坑1


在Windows下安装过软件的同学都知道,一般正常的安装程序,双击之后一直下一步就能安装到我们的电脑上,默认是C盘。如果C盘空间不够大,那么在安装路径上改一下就好,把安装地址换到其它盘上。然而,安装Docker却偏偏不这样干,根本没有选择的机会。


image.png


先在D盘建立Docker文件夹,我这里位于D:\Program Files\目录下,使用管理员命令创建软连接:

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


image.png


这样在执行前面的安装程序时,就会安装到D盘里了。


坑2


在Linux下使用Docker时,其实是使用系统分配的资源,管理员不必去太费心管理资源分配问题。但当我以为Windows也是一样,我的程序却始终启动不了。


image.png


实际上Windows是利用Hyper-V虚拟了一个机器,这个机器也是Linux,是需要对它进行资源分配的。因为它的默认值太小了,导致我的应用跑起来之后,虚拟机内存不够,进而疯狂向硬盘写入。


image.png



相关文章
|
14天前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
15天前
|
Oracle 关系型数据库 数据库
|
3天前
|
监控 数据可视化 虚拟化
Docker容器常用命令笔记分享
Docker容器常用命令笔记分享
33 2
|
9天前
|
存储 Kubernetes 搜索推荐
作为k8s容器运行时,containerd跟docker的对比
作为k8s容器运行时,containerd跟docker的对比
111 0
作为k8s容器运行时,containerd跟docker的对比
|
10天前
|
消息中间件 Linux 开发工具
rabbitmq使用docker容器挂载宿主机配置文件时无法访问控制台
rabbitmq使用docker容器挂载宿主机配置文件时无法访问控制台
|
10天前
|
JavaScript Shell Docker
|
14天前
|
Kubernetes Go 开发者
Go语言与Docker容器结合的实践应用与案例分析
【2月更文挑战第23天】本文通过分析实际案例,探讨了Go语言与Docker容器技术结合的实践应用。通过详细阐述Go语言在容器化环境中的开发优势,以及Docker容器技术在Go应用部署中的重要作用,本文旨在为读者提供Go语言与Docker容器结合的具体实现方法和实际应用场景。
|
15天前
|
应用服务中间件 Docker 容器
在Docker容器和主机之间复制文件/文件夹
在Docker容器和主机之间复制文件/文件夹
23 0
|
16天前
|
Ubuntu Shell 开发者
Docker容器管理
Docker容器管理
18 0
|
16天前
|
Shell Docker Python
Docker容器的使用
Docker容器的使用
17 0

相关产品

  • 容器镜像服务
  • 容器服务Kubernetes版