type
status
date
slug
summary
tags
category
icon
password
能力模型
能力分类
省赛
全球总决赛
学习进度
中国总决赛
文章前言:
本文介绍docker的基本概念、安装即安装问题解决、基本操作方法及相关参考链接。
一、Docker简介
1.Docker基础简介
Docker是一个软件平台,可以快速构建、测试和部署应用程序。
Docker 将软件打包成名为容器的标准化单元,这些单元具有运行软件所需的所有功能,包括库、系统工具、代码和运行时。使用 Docker,您可以将应用程序快速部署和扩展到任何环境中,并且知道您的代码将运行。
Docker包括3个核心概念:
- 镜像(Image):
- Docker的镜像概念类似于虚拟机里的镜像(比如
.ISO
文件),是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。
- 容器(Container):
- Docker容器是由Docker镜像创建的运行实例,类似VM虚拟机,支持启动,停止,删除等。
- 每个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。
- 仓库(Repository):
- 镜像便于传播,而仓库就是专门用来传播这些镜像的地方,它有点类似与Github,或者你可以把它看成一个存放各种镜像的镜像商店
2.Docker的工作原理
Docker 的工作原理是提供一种标准方法来运行代码。Docker 是容器的操作系统。与虚拟机是用于虚拟化(无需直接管理)服务器的硬件类似,容器是用于虚拟化服务器的操作系统。Docker 安装在每个服务器上,并提供可用于构建、启动或停止容器的简单命令。
3.Docker的使用场景
Docker 容器可以作为构建现代应用程序和平台的核心构建块。使用Docker 可以轻松构建和运行分布式微服务架构、使用标准化的持续集成和交付管道部署代码、构建高度可扩展的数据处理系统,并为您的开发人员构建完全托管的平台。
- 微服务:通过利用使用 Docker 容器的标准化代码部署来构建和扩展分布式应用程序架构。
- 持续集成和交付:通过实现环境标准化并消除语言堆栈和版本之间的冲突,加快应用程序的交付速度。
- 数据处理:将大数据处理作为一项服务提供。将各种数据包和分析包打包成可移植的容器,使非技术用户也可以执行。
- 容器即服务:构建和发布带有由 IT 管理并确保安全的内容和基础设施的分布式应用程序。
二、Docker安装
1.官网下载Docker Desktop安装包
2.打开安装包后执行安装,会出现以下内容
- Enable Hyper-V
- Enable WSL 2(优先勾选此项)
- Add shortcut
3.换源
选择Docker Engine,在其中输入(这里使用的是163的源,如果想要使用其他源可以自行设置,github上有个项目:docker_mirror可以自动检测在你的网络环境下哪个源是最快的)
4.检查配置是否成功
输入
docker run hello-world
是否显示镜像下载成功。如果出现报错,则环境配置可能出现了问题。
5.相关报错问题
- Docker Desktop - Unexpected WSL error
- WSL 2 installation is incomplete
三、Docker安装报错问题解决方法
- Docker Desktop - Unexpected WSL error
- 更新WSL:使用管理员权限运行CMD,执行命令
wsl --update
来更新您的WSL。更新完成后,使用命令wsl --shutdown
重启一下。
- 启用Windows功能:打开“控制面板”->“程序”->“启用或关闭Windows功能”,在其中找到以下内容,然后点击“确定”,并重启计算机系统。
- Windows虚拟机监控程序平台
- 适用于Linux的Windows子系统Windows
- 虚拟机平台,并勾选它。
- (注意:若本来是开启的则尝试关闭+重启+重新打开+重启,本人使用该方法解决)
- 确保 BIOS 中启用了虚拟化:
- 重启计算机并进入 BIOS 设置(通常通过按 F2、F10、Delete 或其他键)。
- 确保启用了 虚拟化技术(一般是SVM,vitusal这样的选项)。
- 重置Winsock:以管理员身份运行CMD,执行命令
netsh winsock reset
。运行完成后,再次使用命令wsl --shutdown
重启一下。注意,此操作不需要重启计算机。
- 检查WSL是否已安装:打开管理员权限的Powershell,运行命令
wsl --status
来检查WSL是否已经安装。如果未安装,尝试运行命令wsl --install
来安装WSL。如果遇到问题,可能需要检查BIOS设置,确保启用了虚拟技术选项。(若无法安装请重试步骤二并重装docker)
四、Docker基础操作
1.查看本地镜像(也可在Docker desktop查看)
2.加载镜像/创建容器(虚拟机)(docker run)
常用可选参数 | 作用 |
-i | 表示以《交互模式》运行容器。 |
-d | 会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)。 |
-t | 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。 |
–name | 为创建的容器命名。(默认会随机给名字,不支持中文字符!!!) |
-v | 表示目录映射关系,即宿主机目录:容器中目录。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 |
-p | 表示端口映射,即宿主机端口:容器中端口。 比如:-p 8080:80 就是将容器中的80端口,映射到主机中的8080端口 |
–network=host | 表示将主机的网络环境映射到容器中,使容器的网络与主机相同。每个 Docker 容器都有自己的网络连接空间连接到虚拟 LAN。使用此命令则会让容器和主机共享一个网络空间。 |
3.拉取镜像(docker pull)
4.删除镜像(docker rmi)
5.查看容器(docker ps)
6.启动和关闭容器
7.容器制作成镜像
我们为什么要把容器制作成镜像?
- 镜像可以看作为是一种备份,如果我们后期环境出现了问题,可以还原到早期镜像。
- 镜像便于传播,可以让自己的其他设备或他人的重复利用变得更加简单容易。
五、在Vscode内部运行Docker容器
1.Vscode安装插件dev container
2.打开Docker并启动,打开Vscode远程资源管理器并刷新,显示Docker已下载的映像,如下所示
3.点击向右的箭头,即可连接容器(虚拟机),Vscode左下显示如下即连接成功。
4.完成上述步骤后即可在Vscode中自由操作Docker映像文件。
5.Vscode连接Docker进行开发的其他方法
- 使用ssh服务远程连接容器
- 使用Vscode的Docker扩展和remote container插件
- 通过Vscode的pipeTransport功能
📎 参考文章
- 安装及Docker基础操作参考
- 报错解决参考
WSL2 fails to run any distros with error 0x80370102
Updated Nov 24, 2024
- 其他常见报错解决参考
有关Docker安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
- Author:Koreyoshi
- URL:https://Koreyoshi1216.com/article/7cbac025-873b-4b1a-86cf-120e419cbcdc
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!