ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Docker安装实战:从WSL2配置到引擎启动,解决权限与镜像加速

Docker安装实战:从WSL2配置到引擎启动,解决权限与镜像加速 讲真Docker 安装这件破事看着全网教程一大堆真正能把装完到跑起来这条链路讲清楚的没几个。我这些年前前后后帮人处理过上百次 Docker 安装问题Windows、Linux、macOS 三条路线全踩过坑发现绝大多数人卡住的地方根本不在装这一步而是装完之后引擎起不来、镜像拉不动、权限报错这三座大山能把新手直接劝退。这篇 Docker 安装指南我拖了很久才动笔因为我不想只给你贴几条命令就完事而是把每一步背后的原理、每个报错对应的排查思路以及那些常规文档里绝对不会写的细节一次全倒出来。这篇指南适合所有打算入坑 Docker 的人哪怕你完全不知道 Docker 是什么只要照着顺序读也能明白自己在干什么如果你已经装过但没跑通可以直接跳到常见问题章节对照排查就算你是老手里面关于 WSL2 和 Windows 引擎启动的底层分析大概率也能帮你补上一些盲区。1. Docker 到底是个什么东西为什么安装方式五花八门1.1 用快递柜的类比把 Docker 讲透很多人第一次接触 Docker听到容器镜像这两个词就直接蒙圈了。我一般用快递柜来打比方镜像就是快递柜的模板规格每个格子的尺寸、承重、编号规则都一样容器就是按照这个规格实际放进去的一个个快递包裹彼此独立、互不干扰某个包裹坏了直接抽出来扔掉不影响其他格子里面的东西。传统虚拟机是你在大楼里隔出一间间房间每间房间都配齐水电气、家具、管道程序住进去想怎么折腾都行代价是房间和公共设施的开销巨大。而 Docker容器只打包程序本身 它需要的运行环境共享宿主机的操作系统内核开销小得多启动速度能到毫秒级。这就是为什么现在微服务、CI/CD、本地开发环境搭建几乎都绕不开 Docker。1.2 为什么安装方式分了这么多流派你搜 Docker 安装教程会发现有 Docker Desktop、Docker Engine、docker-ce、docker.io 这些乱七八糟的名字其实对应的是两种核心形态第一种是 Docker Desktop带图形界面主要面向 Windows 和 macOS 用户帮你把底层的虚拟机、WSL2 内核、网络组件全封装好一键安装就能用。第二种是 Docker Engine纯命令行服务主要跑在 Linux 服务器上你可以把它当成一个后台服务来管理生产环境基本都用这种。搞清楚这个区别非常重要。很多人犯的第一个错误就是在云服务器上装 Docker Desktop图形界面根本加载不出来白白浪费半小时。反过来有人在自己 Windows 电脑上只装了命令行工具结果发现跑不起来因为 Windows 本身没有 Linux 内核必须通过 WSL2 或 Hyper-V 虚拟化来跑 Docker 引擎。1.3 安装前先明确三个问题动手之前先拿三秒钟想清楚自己的场景第一你是要在本地开发调试还是要在线上服务器部署第二你的操作系统是 Windows 还是 Linux架构是 x86 还是 ARM比如 Apple Silicon 芯片第三你之后打算用 Docker 跑什么具体应用比如数据库、WEB服务、自动化脚本还是仅仅体验一下这三个问题的答案直接决定你该走哪条安装路线。以我自己的经验本地开发优先选 Docker Desktop省心服务器部署选 Docker Engine干净树莓派这类 ARM 设备很多官方镜像都不支持得专门找 ARM 版本安装方式也得跟着变。这一篇我会把最主流的 Windows 和 Linux 两条路走完整macOS 的原理和 Windows 高度相似我会在关键差异处单独标注。2. 动手前先做好安装决策Windows、Linux 还是 macOS2.1 Windows 系统WSL2 和 Hyper-V 选哪个Windows 上装 Docker有一个绕不开的前提Windows 本身不是 Linux 系统而 Docker 容器天生是 Linux 的产物所以必须在 Windows 里开一个虚拟化环境。现在的主流选择有两个一个是 WSL2一个是 Hyper-V。Docker Desktop 在 Windows 上默认推荐 WSL2原因很实在WSL2 的资源占用比 Hyper-V 小得多启动速度快而且能把文件系统读写性能做得接近原生开发体验非常顺滑。Hyper-V 的隔离性更强但整体笨重适合对隔离要求高的场景。如果你只是为了跑 Docker直接选 WSL2 就好。这里有第一个关键点无论选哪条路都必须确保 CPU 的虚拟化功能已经开启。怎么查打开任务管理器切到性能选项卡看CPU一栏里虚拟化是不是显示已启用。如果是已禁用那你得重启进 BIOS找到类似 Intel Virtualization Technology (VT-x) 或 AMD SVM Mode 的选项把它设为 Enabled。这一步不做好后面 Docker Desktop 启动会直接报错而且报错信息特别迷惑。2.2 Windows 版本要求先查系统版本再动手Docker Desktop 对 Windows 版本有硬性要求Windows 10 64 位版本号必须是 2004 及以上或者 Windows 11。如果你是 Windows 10 老版本建议先把系统更新到最新否则安装程序会提示你系统不受支持。判断版本号很简单按下Win R输入winver弹出的窗口里会显示详细的版本号。如果版本太低先花点时间更新系统这一步不能跳过。另外还要注意WSL2 需要 Windows 系统功能里启用了适用于 Linux 的 Windows 子系统和虚拟机平台这两项。我在后面 Windows 安装流程里会把这一步放在最前面讲因为很多人都是先装了 Docker 才发现这两个功能没开然后 D 盘 C 盘一顿操作最后才补上纯属浪费时间。2.3 Linux 发行版官方脚本、apt 和 yum 的区别Linux 下安装 Docker Engine网上能看到三种主流方式官方一键脚本、发行版自带仓库安装、配置 Docker 官方仓库后安装。它们之间的区别用一句话概括就是官方一键脚本最省事但黑盒发行版自带仓库最省心但版本老配置官方仓库最可控但步骤多。如果你用的是 Ubuntu 或 Debian 系我建议走官方仓库安装这条路线因为你可以随时apt upgrade把 Docker 升级到最新也不用担心第三方脚本的安全问题。CentOS 7 以及类似的 RHEL 系情况稍微复杂一点因为 CentOS 7 内置的 docker 包是旧版务必先卸载干净再装新的。2.4 macOS 用户区分 Intel 和 Apple SiliconmacOS 上的 Docker Desktop 现在分成两个版本一个是 Intel 芯片用的 x86_64 版一个是 Apple Silicon 用的 arm64 版。下载的时候千万别选错否则装上了也起不来。Apple Silicon 芯片M1、M2、M3跑 Docker 有个特性它兼容 x86 镜像会走一层模拟速度有损耗。所以你在拉镜像的时候最好优先选标注了linux/arm64的 tag或者通过 manifest 列表让 Docker 自动拉取对应架构版本的镜像。这个细节我在后面镜像配置的章节也会提到。3. Windows 安装 Docker Desktop 完整实操从 WSL2 到跑通 hello-world3.1 第一步把 WSL2 环境一次性装到位很多教程上来就让你下载 Docker Desktop 安装包我恰恰相反先配 WSL2。因为 Docker Desktop 安装完之后首次启动就要调用 WSL2 环境如果这时 WSL2 还没准备好启动就会反复失败报错五花八门其中最容易误导人的就是Docker Desktop failed to start because virtualization support not detected。这报错的字面意思是虚拟化不支持但很多时候实际是 WSL2 没装好。首先以管理员身份打开 PowerShell执行下面的命令wsl --install这条命令在 Windows 10 2004 以上和 Windows 11 上会自动安装 WSL2 内核并默认启用适用于 Linux 的 Windows 子系统和虚拟机平台两个功能。装完之后按提示重启电脑。重启之后验证一下 WSL 状态wsl --status wsl --version如果显示 WSL 版本是 2.x说明 WSL2 已经就绪。接着还需要确定默认版本是 WSL2wsl --set-default-version 2这一步是为了防止 Windows 还保留着老版 WSL1 的默认设置WSL1 和 Docker 引擎的兼容性很差跑起来各种文件锁和网络问题。3.2 第二步下载安装 Docker Desktop 并做关键设置去 Docker 官网下载 Docker Desktop for Windows双击安装。安装过程中有个界面会问你要不要勾选Use WSL 2 instead of Hyper-V强烈建议勾选除非你提前知道自己必须用 Hyper-V。安装完成后先别急着启动。打开 Docker Desktop 的设置进到 Settings - General确保 Use the WSL 2 based engine 是勾选状态然后进到 Settings - Resources - WSL Integration这里可以设置 Docker 是否和具体的 WSL 发行版做集成。比如你装了 Ubuntu 发行版就把它打开这样你在 Ubuntu 终端里直接就能用 docker 命令不用每次切到 PowerShell。这里有个我踩过的坑如果你在 WSL 的 Ubuntu 环境里直接apt install docker.io然后发现在 Ubuntu 里跑的容器和 Docker Desktop 里看到的对不上其实是因为你装了第二个独立的 Docker Engine和 Desktop 的引擎冲突了。正确做法是WSL 里面不要装 Docker Engine只靠 Docker Desktop 的集成功能就够了。3.3 第三步启动 Docker Desktop 并验证 hello-world双击 Docker Desktop 图标等托盘图标从启动中变成稳定状态。第一次启动可能比较慢因为要初始化 WSL2 分发版的 Docker LinuxKit VM。打开 PowerShell执行docker version docker run --rm hello-worlddocker version能看到 Client 和 Server 两段信息。如果只显示了 Client 段说明服务端没连上这是最常见的问题。docker run --rm hello-world会去 Docker Hub 拉取一个极小的测试镜像并运行如果能打印出 Hello from Docker!恭喜你整个链路已经通了。如果卡在拉取镜像的环节一直转圈别急着怀疑网络先看下面第 6 章镜像加速的配置方法。这一步是整个 Windows 安装流程里最让人容易放弃的关卡请务必先看再操作。3.4 关于老版本 Windows 和 Hyper-V 的特殊处理如果你用的是 Windows 10 2019 之前的老版本WSL2 支持不够友好那就只能走 Hyper-V 路线。这时候你需要在启用或关闭 Windows 功能里勾选 Hyper-V重启后安装 Docker Desktop 的时候不勾选 WSL2 选项。代价是性能和兼容性都要打折扣日常开发还好但如果你经常跑文件读写密集的任务体感差异会很明显。老版本系统还容易遇到CPU 虚拟化已启用但 Hyper-V 无法开启的情况一般是 BIOS 里安全虚拟化相关的设置没开全或者某些杀毒软件把虚拟化组件占用了排查起来很头痛。所以我的建议始终是能用 WSL2 就绝不走 Hyper-V能升级系统就绝不留在老版本。这不是偷懒是把后续三个月的排错成本提前砍掉。4. Linux 安装 Docker Engine 全流程Ubuntu 和 CentOS 两条路线对照4.1 卸载旧版本避免半吊子 Docker无论哪个 Linux 发行版装新 Docker 之前先检查系统里有没有残留的旧版本。很多人不知道Ubuntu 的 apt 源里自带一个docker.io包CentOS 7 的系统镜像里也内置了老版本 docker。如果你直接把新版装上去很容易出现dockerd起不来或者命令提示找不到 docker但配置文件还在的乱象。先执行sudo apt remove docker docker-engine docker.io containerd runc # Ubuntu/DebianCentOS 则是sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine注意这里卸载的只是旧引擎和客户端不会动你已经存在的镜像和容器数据。如果那台服务器上以前存过重要容器数据建议先把/var/lib/docker备份再继续下一步。4.2 Ubuntu 安装 docker-ce一步一步说细节我推荐用 Docker 官方 apt 源来安装这样以后apt upgrade就能直接升级 Docker。先装依赖工具sudo apt update sudo apt install ca-certificates curl gnupg lsb-release然后添加 Docker 官方的 GPG 密钥sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg这里有一个很多人忽略的点docker.gpg文件的权限必须严格控制否则 apt 会警告密钥文件权限不安全。执行sudo chmod ar /etc/apt/keyrings/docker.gpg接着添加仓库源。以 Ubuntu 22.04 为例需要把架构和版本代号拼进去echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null之后就可以安装sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin注意最后两个插件包docker-buildx-plugin提供 buildx 增强构建能力docker-compose-plugin让你可以直接用docker compose子命令而不用额外去装一个独立的 docker-compose 二进制。装这一套是最省心的高配方案。4.3 启动 Docker 服务并设置开机自启安装完成后Docker 服务默认不会自动启动。执行sudo systemctl enable docker sudo systemctl start dockerenable的作用是注册开机自启start是立即启动。为什么顺序要这样写因为如果先 start 再 enable一旦中间出问题你就得分两步排查。先 enable 再 start任何一步报错都能定位到具体的服务状态。验证服务状态sudo systemctl status docker看到active (running)就算成功。再用docker info看一下完整信息这里会显示 Docker 版本、存储驱动、镜像数量等关键信息是快速体检的好命令。4.4 CentOS 7 升级 Docker 的注意事项CentOS 7 的默认仓库里没有 docker-ce得先装yum-utils然后添加 Docker 官方仓库sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo接着安装sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin这里要特别提醒 CentOS 7 的坑如果之前系统里已经有老版 Docker不卸载干净就直接安装新版会出现两个 docker 命令打架而且新版dockerd可能因为老配置而无法启动。所以在第 4.1 节的卸载步骤对 CentOS 更要严格执行。CentOS 7 还有一个额外的网络问题需要注意如果服务器的防火墙启用了记得放行 Docker 需要的端口否则容器端口映射出来后外部打不开。一条命令把常用端口放开就行sudo firewall-cmd --permanent --zonepublic --add-port2375/tcp sudo firewall-cmd --reload4.5 补充用官方脚本安装的捷径与代价Linux 下还有一种被很多教程推荐的安装方式官方一键脚本。curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh这条命令确实很省事脚本会自动识别发行版、安装依赖、配置源全程不用手动操作我测试过在 Ubuntu、Debian、CentOS 上都能跑通。但代价是其一它是黑盒安装你无法知道每一步做了什么其二它默认帮你把 Docker 加入了系统服务但不会帮你配置镜像加速其三在某些企业网络环境里从 get.docker.com 下载脚本本身就可能是失败的。我的建议是个人测试环境用脚本无所谓生产环境还是走官方仓库安装可控性完全不是一个级别。这篇指南前面的章节都是按可控路线来的脚本方式作为补充列出大家自行斟酌。5. 安装完成后必做的四件事权限、加速、命令和资源限制5.1 立刻解决 Docker 权限问题避免 sudo 地狱安装完 Docker Engine 后你每次敲docker命令可能都要加sudo否则会报permission denied或者Cannot connect to the Docker daemon at unix:///var/run/docker.sock。这是 Linux 新手最容易卡壳的点。Docker 守护进程通过/var/run/docker.sock这个 Unix Socket 和客户端通信这个 socket 默认属于 root 用户和 docker 用户组。要让普通用户免 sudo 执行 docker 命令把当前用户加入 docker 组即可sudo usermod -aG docker $USER newgrp dockerusermod是把用户加进组newgrp是让当前会话立即生效不用注销重登。这里有个安全提醒docker 组里的用户本质上等同于 root 权限因为容器可以挂载宿主目录、操作内核接口。如果你在多人服务器上一定要谨慎给其他人加 docker 组否则和把 root 密码告诉别人没区别。5.2 配置镜像加速器彻底告别拉取超时很多人在 Docker 能跑起来之后第一件事就是拉镜像结果发现速度慢得像蜗牛甚至超时失败。这不是 Docker 的问题而是默认镜像源 Docker Hub 的服务器在海外的原因。解决方案就是配置镜像加速器。Linux 下修改/etc/docker/daemon.json{ registry-mirrors: [ https://docker.example.com ] }注意我这里写的https://docker.example.com是占位符。具体可用的镜像加速地址会随时间变化请以你所在云厂商或服务商提供的实际地址为准。改完配置文件后必须重启 Docker 才能生效sudo systemctl daemon-reload sudo systemctl restart docker如果daemon.json不存在就新建一个如果已经存在其他配置项把registry-mirrors合并进去不要直接覆盖整个文件。Windows Docker Desktop 的配置位置有点隐蔽在 Docker Desktop 的设置界面里进 Settings - Docker Engine这里显示的 JSON 就是daemon.json把registry-mirrors加进去然后点击 Apply Restart。5.3 掌握五个高频 Docker 命令当前期储备足够装好 Docker 之后真正高频用的命令不需要太多把这五个用熟就能覆盖大部分场景docker run是创建并启动容器docker ps是查看运行中的容器docker images是查看本地镜像列表docker pull是拉取镜像docker exec -it是进入容器内部执行命令。比如你装完 MySQL 容器之后想进容器里看日志一条docker logs就能解决。为什么不要一上来背一堆命令因为 Docker 的目录结构对新手来说核心就是镜像、容器、数据卷、网络四件事。把四个对象搞清楚命令自然就记住了。5.4 给 Docker 设置资源上限防止它吃满整台机器Linux 服务器上装完 Docker默认情况下容器使用的 CPU 和内存可以无限增长直到宿主机资源枯竭这是个隐患。所以安装完后我建议立刻在daemon.json里加上默认资源限制{ default-ulimits: { nofile: { Name: nofile, Hard: 1048576, Soft: 1048576 } } }不过更实际的做法是在运行容器时用参数限制比如docker run -m 512m --cpus0.5这比全局配置灵活得多。假如你的服务器只有 4GB 内存跑了一个内存不限的容器里面程序出 bug 疯狂申请内存整台机器直接被 OOM 杀掉这种事故我在生产环境见过不止一次。macOS 和 Windows 的 Docker Desktop 用户可以在 Settings - Resources 里直接拖动滑块限制 CPU、内存和 Swap 大小。建议给 Docker 分配的内存不要超过本机内存的一半留出余量给宿主系统否则开几个容器后电脑就会明显卡顿。6. 高频安装问题与排查实录把报错一条条拆给你看6.1 Docker Desktop 提示 virtualization support not detected这个报错是 Windows 用户最容易遇到的第一反应千万别去重装。先按顺序做三件套第一步确认 BIOS 虚拟化开启。打开任务管理器 - 性能 - CPU看虚拟化是不是已启用。如果是已启用但 Docker 还是报这个问题继续往下看。第二步确认 Windows 功能里虚拟机平台已开启。在控制面板 - 程序 - 启用或关闭 Windows 功能里找到虚拟机平台和适用于 Linux 的 Windows 子系统全部勾选重启。第三步用管理员身份打开 PowerShell执行systeminfo查看输出中Hyper-V 要求这一项如果显示已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能反而说明 Hyper-V 正在运行但 Docker Desktop 没有正确配置。这时候去设置里切换一下引擎类型从 WSL2 切到 Hyper-V 再切回来往往就能解决。6.2 failed to connect to the docker api at npipe:////./pipe/dockerDesktopLinuxEngine这条报错出现在 Windows 上执行 docker 命令时核心是 Docker Desktop 的引擎没有真正运行起来。出现这个问题的原因最常见的是 Docker Desktop 启动失败但托盘图标看起来像在正常运行。解决思路先看托盘图标状态如果看到Engine Stopped或Restart直接点 Restart。如果重启没效果用管理员 PowerShell 执行net stop com.docker.service net start com.docker.service这是重启 Docker Desktop 的 Windows 后台服务。如果还不行把 WSL 里挂掉的发行版重启一下wsl --shutdown然后重新打开 Docker Desktop。这个方法可以解决八成左右的连接不上 npipe问题。6.3 镜像下载慢或者拉取超时怎么办这个问题在 5.2 节里已经给了配置方法这里补两个实用心得第一如果配置了镜像加速器还是慢先检查registry-mirrors是否生效可以用docker info查看Registry Mirrors那一段如果为空说明配置没加载或者 JSON 格式写错了。第二docker 官方镜像库的library/前缀可以省略比如docker pull nginx实际是docker pull docker.io/library/nginx:latest如果你知道确切镜像地址docker pull指定registry.cn-hangzhou.aliyuncs.com/...这类地址也能绕开默认源的拥堵。6.4 Linux 下遇到权限错误和 socket 连接失败这条针对 Linux 服务端报错通常是Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock处理方式就是 5.1 节说的把当前用户加入 docker 组。如果加了组还是报同样的错可能是当前会话没有刷新用户组信息执行newgrp docker或者注销重新登录。另一种情况是服务压根没起用sudo systemctl status docker一看显示active (exited)或者failed。先用这条命令查日志sudo journalctl -u docker.service --no-pager -n 50常见原因包括磁盘空间满了、daemon.json配置错误、内核兼容性问题。比如我遇到过一次/var/lib/docker所在分区满了Docker 启动时直接拒绝初始化查看日志才看到 no space left on device。清理磁盘后问题立即解决。6.5 容器网络不通外部访问不到装好 Docker 后跑一个 Nginx 容器测试docker ps能看到端口映射但从宿主机浏览器访问http://localhost:8080却是拒绝连接。这个问题经常发生在 Windows 和 macOS 的 Docker Desktop 上原因是容器网络模式默认用了 NAT宿主机端口映射和防火墙策略冲突。Linux 上首先检查防火墙sudo systemctl status firewalld sudo firewall-cmd --list-all把容器映射的端口放行或者直接sudo systemctl stop firewalld测试环境可以这么做生产环境谨慎。而 Docker Desktop 用户要检查 Settings - Resources - Network 里的配置以及容器是不是监听的127.0.0.1而不是0.0.0.0。运行容器时记得加参数-p 8080:80并且用docker ps -a查看端口映射那一列是否显示0.0.0.0:8080-80/tcp如果前面的 IP 是127.0.0.1那外部访问进不来就一点都不奇怪了。6.6 安装后 docker compose 命令找不到如果你用的是新版本 docker-ce而且按照第 4.2 节那样装了docker-compose-plugin那docker compose应该直接可用。但如果你的系统里老版本插件冲突或者你以前单独装过docker-compose带横杠的独立二进制在调用时可能会撞车。建议统一使用docker compose子命令因为它是 Docker 官方推荐的新方式。如果仍然报docker: compose is not a docker command执行sudo apt install docker-compose-plugin或者检查~/.docker/cli-plugins/和/usr/local/lib/docker/cli-plugins/目录下是否有对应的docker-compose可执行文件权限是否为 755。这个坑在升级 Docker 后特别常见因为你原来手动安装的插件路径还在新版本升级后反而找不到了。7. 最后唠叨几句经验之谈我个人在实际操作中有一个习惯每装完一套 Docker 环境第一件事不是急着拉业务镜像而是跑一遍 hello-world。很多你自以为稳定没有问题的安装流程hello-world 一跑就能把隐藏问题逼出来这个测试镜像只有几 KB成本极低却是最好的体检工具。第二件事是立刻配置镜像加速。很多视频教程把这一步跳过去但如果你不配后续每一步都可能被慢吞吞的下载速度拖到怀疑人生。第三件事是把 Docker 版本号记下来后续升级的时候少踩很多兼容性的坑。另外说一个我自己踩出来的教训千万别在系统刚装完、手头还有急事的情况下装 Docker。安装过程中极大概率会要求重启或者 WSL 环境初始化卡住你要是赶时间很容易在前面第 3.1 节那一步心态爆炸。挑一个下午泡杯茶把系统更新、虚拟化检查、WSL 安装、Docker Desktop 配置、镜像加速、hello-world 验证一条龙做完大概一两个小时从此一劳永逸。如果按照这篇指南的顺序走你在 Windows 或 Linux 上装好 Docker 并跑通 hello-world 基本是板上钉钉的事。之后不管是装 MySQL、Redis 主从、GitLab还是部署微服务项目都是用docker run或者docker compose up拉镜像、起容器的事那就是另一个层面的玩法了。要是安装过程中有哪一步卡住欢迎把完整的报错文本留在评论区我会对着日志一条条帮你抠。
返回列表