wsl2 ubuntu安装docker启动不成功排查

在尝试使用iptables版本1.8.7时遇到了问题,系统返回Failedtoinitializenft:Protocolnotsupported的错误。为解决此问题,执行了命令sudoupdate-alternatives--setiptables/usr/sbin/iptables-legacy,该命令用于切换到iptables的遗留版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错

iptables/1.8.7 Failed to initialize nft: Protocol not supported

执行

 sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
### 安装和配置DockerWSL2上的Ubuntu 22.04 #### 准备工作 确保已成功安装并配置好带有所需用户名的Ubuntu 22.04版本,这标志着基础环境搭建完毕[^1]。 #### 添加Docker官方GPG密钥 为了安全下载软件包,需先导入Docker仓库的GPG公钥至系统中。执行如下命令来完成操作: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg ``` 该指令会从指定URL获取GPG签名文件并通过管道传递给`gpg`工具处理,最终保存到系统的APT密钥环内[^3]。 #### 设置稳定的Apt源 接着设置apt源以便后续能够顺利安装Docker及其组件。创建或编辑/etc/apt/sources.list.d/docker.list 文件加入以下内容: ```plaintext deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable ``` 上述配置指定了针对AMD架构机器使用的稳定版Docker镜像地址以及对应的GPG验证路径。 #### 更新本地索引与安装Docker Engine 更新本地APT缓存以反映最新的可用软件列表,并通过下面两条命令依次安装最新版本的Docker引擎及相关依赖项: ```bash sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 这条组合命令首先刷新了APT数据库中的记录,随后一次性完成了所有必要的安装过程。 #### 解决启动问题 由于WSL特性,在尝试使用`systemctl`管理服务时可能会遇到权限足或其他兼容性障碍。对于这种情况,推荐采用替代方案直接调用初始化脚本来激活Docker守护进程: ```bash sudo service docker start ``` 或者如果上述方法可行,则可考虑利用更底层的方式手动触发启动流程: ```bash sudo dockerd & ``` 这两种方式都能有效绕过因缺少Systemd支持而导致的服务控制难题[^2]。 #### 验证安装成果 最后一步是确认Docker已经正常运作。可以通过运行简单的测试容器来进行检验: ```bash docker run hello-world ``` 当看到预期的信息输出即表示整个部署顺利完成;反之则可能需要排查是否存在其他潜在的问题阻碍着Docker Daemon的工作状态[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值