久仰Docker大名,但只是一直停留在听说过的程度。最近看到一个通过copilot转接gpt4的项目,其中需要用到Docker,于是打算系统学习一下

以下为windows下Docker的说明与使用

1 概念:

Docker是一种开源平台,用于自动化应用程序的部署、扩展和管理。它使用容器化技术,允许开发人员在轻量级、可移植的容器中打包应用程序及其所有依赖项

2 使用:

2.1 安装

进入官网安装Docker Desktop: The #1 Containerization Tool for Developers | Docker

而后打开,看看能否正常运行

遇到的问题

1.Docker Desktop Unexpected WSL error

描述:打开Docker后,或立刻,或一两分钟后应用崩溃,提示Docker Desktop Unexpected WSL error

问题解决:

1.进入“控制面板”→”程序“→ “程序和功能”→”启用或关闭Window功能”

2.观察其中是否有Hyper-V

2.1 有则启用

2.2 无则创建一个.cmd文件,写入

1
2
3
4
5
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

后用管理员身份运行。

3.以管理员身份打开cmd,执行命令:netsh winsock reset

完成后成功进入主界面

2.2 将GitHub项目部署到 docker上

  1. clone目标项目
  2. 进入项目目录,观察该目录是否有文件Dockerfile(Docker的部署依赖于Dockerfile)
  3. 执行命令
1
docker build -t ProjectName .

其中ProjectName为任意名称,与项目本身无关,末尾的句号不能省略

4.执行命令

1
docker run ProjectName

一次build后可以多次run(包括重启后),如果忘记了项目名可以执行命令

1
docker images

查看已build的所有项目