安装Windows环境下的docker desktop出现无法启动的情况。
参考以下文章,更新WSL 2。避免往后重装找不到原因…
文章直通车
旧版 WSL 的手动安装步骤
为简单起见,通常建议使用 wsl --install 安装适用于 Linux 的 Windows 子系统,但如果运行的是旧版 Windows,则可能不支持这种方式。 下面介绍了手动安装步骤。 如果在安装过程中遇到问题,请查看疑难解答指南的安装部分。
步骤 1 - 启用适用于 Linux 的 Windows 子系统
需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
建议现在转到步骤 #2,更新到 WSL 2,但如果只想安装 WSL 1,现在可以重新启动计算机,然后继续执行步骤 6 - 安装所选的 Linux 发行版。 若要更新到 WSL 2,请等待重新启动计算机,然后继续执行下一步。
步骤 2 - 检查运行 WSL 2 的要求
若要更新到 WSL 2,需要运行 Windows 10。
对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。
对于 ARM64 系统:版本 2004 或更高版本,内部版本为 19041 或更高版本。
或 Windows 11。
备注:
低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 更新到“设置”菜单中的最新 Windows 版本。
备注:
如果运行的是 Windows 10 版本1903 或 1909,请在 Windows 菜单中打开“设置”,导航到“更新和安全性”,然后选择“检查更新”。 内部版本号必须是 18362.1049+ 或 18363.1049+,次要内部版本号需要高于 .1049。 阅读详细信息:WSL 2 即将支持 Windows 10 版本 1903 和 1909。
步骤 3 - 启用虚拟机功能
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机,以完成 WSL 安装并更新到 WSL 2。
步骤 4 - 下载 Linux 内核更新包
- 下载最新包:
备注
如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或
PowerShell,并输入:systeminfo | find “System Type”。 Caveat: 在非英文版 Windows
上,你可能必须修改搜索文本,对“System Type”字符串进行翻译。 你可能还需要对引号进行转义来用于 find 命令。
例如,在德语版中使用 systeminfo | find ‘“Systemtyp”’。
- 运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)
安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。 (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)
备注
有关详细信息,请参阅 Windows 命令行博客上的文章对更新 WSL2 Linux 内核的更改。
步骤 5 - 将 WSL 2 设置为默认版本
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
ok,重启docker desktop 成功启动。装备需要的image肝起来。。。
——————————————————————————————————————
分割线
——————————————————————————————————————
记录deepin安装docker
在 Debian 上安装 Docker 引擎
要开始在 Debian 上使用 Docker Engine,请确保您满足先决条件,然后安装 Docker。
先决条件
操作系统要求
要安装 Docker 引擎,您需要以下 Debian 或 Raspbian 版本之一的 64 位版本:
- Debian Bullseye 11 (稳定版)
- Debian Buster 10 (oldstable)
- Raspbian Bullseye 11 (stable)
- Raspbian Buster 10 (oldstable)
Docker 引擎在x86_64, amd64, armhf, arm64 体系结构上受支持。
卸载旧版本
较旧版本的 Docker 称为 、 或 。如果安装了这些,请卸载它们:dockerdocker.iodocker-engine
sudo apt-get remove docker docker-engine docker.io containerd runc
如果报告未安装这些包,则没有问题。apt-get
将保留 的内容,包括映像、容器、卷和网络。如果您不需要保存现有数据,并希望从全新安装开始,请参阅本页底部的卸载 Docker 引擎部分。/var/lib/docker/
安装方法
您可以根据需要以不同的方式安装 Docker 引擎:
大多数用户设置 Docker 的存储库并从中安装,以便于安装和升级任务。这是推荐的方法,Raspbian 除外。
一些用户下载 DEB 包并手动安装,并完全手动管理升级。这在诸如在无法访问互联网的气隙系统上安装Docker之类的情况下很有用。
在测试和开发环境中,一些用户选择使用自动化的便利脚本来安装 Docker。这是目前Raspbian的唯一方法。
使用存储库安装
在新主机上首次安装 Docker 引擎之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。
Raspbian 用户不能使用此方法!
对于 Raspbian,尚不支持使用存储库进行安装。您必须改用便利脚本。
设置存储库
- 更新软件包索引并安装软件包,以允许通过 HTTPS 使用存储库:apt
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
- 添加 Docker 的官方 GPG 密钥:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- 使用以下命令设置存储库:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装 Docker 引擎
此过程适用于 Debian on / 、 、 和 Raspbian。x86_64 amd64 armhf arm64
更新包索引,并安装最新版本的 Docker 引擎、容器和 Docker Compose,或转到下一步以安装特定版本:apt
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
运行时收到 GPG 错误 ?apt-get update
您的默认掩码可能设置不正确,从而导致无法检测到存储库的公钥文件。运行以下命令,然后再次尝试更新存储库:。sudo chmod a+r /etc/apt/keyrings/docker.gpg
- 要安装特定版本的 Docker 引擎,请在存储库中列出可用版本,然后选择并安装:
a. 列出存储库中可用的版本:
apt-cache madison docker-ce
b. 使用第二列中的版本字符串安装特定版本,例如 。5:18.09.1~3-0~debian-stretch
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
- 通过运行映像来验证 Docker 引擎是否已正确安装
sudo docker run hello-world
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
Docker 引擎已安装并正在运行。将创建该组,但不会向其中添加任何用户。您需要 使用 来运行 Docker 命令。继续执行 Linux 安装后配置,以允许非特权用户运行 Docker 命令和其他可选配置步骤。
使用便利脚本进行安装
Docker 提供了一个方便的脚本,get.docker.com 以非交互方式将 Docker 快速、非交互式地安装到开发环境中。不建议将便利脚本用于生产环境,但可以用作创建根据您的需求定制的预配脚本的示例。另请参阅使用存储库进行安装的步骤,以了解使用包存储库进行安装的安装步骤。该脚本的源代码是开源的,可以在 GitHub 上的 docker-install 存储库中找到。
在本地运行脚本之前,请始终检查从 Internet 下载的脚本。在安装之前,请熟悉便利脚本的潜在风险和局限性:
该脚本需要或具有特权才能运行。root sudo
该脚本尝试检测您的 Linux 发行版和版本并为您配置软件包管理系统,并且不允许您自定义大多数安装参数。
该脚本在不要求确认的情况下安装依赖项和建议。这可能会安装大量包,具体取决于主机的当前配置。
默认情况下,该脚本会安装 Docker、containerd 和 runc 的最新稳定版本。使用此脚本置备计算机时,这可能会导致 Docker 出现意外的主要版本升级。在部署到生产系统之前,始终在测试环境中测试(主要)升级。
该脚本不是为升级现有 Docker 安装而设计的。使用脚本更新现有安装时,依赖项可能不会更新到预期版本,从而导致使用过时的版本。
提示:运行前预览脚本步骤
您可以运行脚本,并可以选择了解脚本在安装过程中将执行哪些步骤:DRY_RUN=1
curl -fsSL https://get.docker.com -o get-docker.sh
DRY_RUN=1 sh ./get-docker.sh
此示例从 get.docker.com 下载脚本并运行它以在 Linux 上安装 Docker 的最新稳定版本:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Docker 已安装。该服务在基于 Debian 的发行版上自动启动。在基于发行版(如 CentOS、Fedora、RHEL 或 SLES)上,您需要使用适当的或命令手动启动它。如该消息所示,默认情况下,非 root 用户无法运行 Docker 命令。docker RPM systemctl service
以非特权用户身份使用 Docker,还是在无根模式下安装?
安装脚本需要或具有安装和使用 Docker 的权限。如果要授予非 root 用户对 Docker 的访问权限,请参阅 Linux
的安装后步骤。Docker 也可以在没有权限的情况下安装,或者配置为在无根模式下运行。有关在无根模式下运行 Docker 的说明,请参阅以非
root 用户身份运行 Docker 守护程序(无根模式)。root sudo root
E: 仓库 “https://download.docker.com/linux/debian n/a Release” 没有
Release 文件。N: 无法安全地用该源进行更新,所以默认禁用该源
deepin安装docker后apt update报错。
原因是没有指定debian的版本(官方教程中的做法无法获取deepin的debian版本)。
修改docker.list文件,在release前加上buster(debian 10)即可
rm docker.list
apt-get update && apt-get upgrade
环境
Docker
代理 (尽量满足)
部署
Host方式
docker run -dit \
--name QL \
--hostname QL \
--restart always \
-p 5700:5700 \
-v $PWD/QL/config:/ql/config \
-v $PWD/QL/log:/ql/log \
-v $PWD/QL/db:/ql/db \
-v $PWD/QL/scripts:/ql/scripts \
-v $PWD/QL/jbot:/ql/jbot \
whyour/qinglong:latest
MacVlan方式
docker run -dit \
--name QL \
--hostname QL \
--restart always \
--net=macnet \
--ip=192.168.2.20 \
--dns=192.168.2.2 \
--mac-address C2:F2:9C:C5:B1:01 \
-v $PWD/QL/config:/ql/config \
-v $PWD/QL/log:/ql/log \
-v $PWD/QL/db:/ql/db \
-v $PWD/QL/scripts:/ql/scripts \
-v $PWD/QL/jbot:/ql/jbot \
whyour/qinglong:latest
- 系统关机docker重启出现:
Cannot connect to the Docker daemon at unix:///home/ChuGe/.docker/desktop/docker.sock. Is the docker daemon running?
解决:
使用sudo
命令或者 sudo su
。
- docker 批量启动容器
主要命令:
命令 | 含义 |
---|---|
awk | 文本行处理器 |
tail | 显示文件的最后几行 |
docker start $(docker ps -a | awk '{ print $1 }' | tail -n +2)
解释:
命令 | 含义 |
---|---|
docker ps -a | 列出所有docker容器 |
awk ‘{ print $1 }’ | 以空格分隔字符并输出第一个字符串 |
tail -n +2 | 读取从第二行到最后一行 |