当前位置: 首页 > article >正文

在window终端创建docker容器的问题

问题:

在这里插入图片描述

错误原因:

PowerShell 换行符错误
PowerShell 中换行应使用反引号`而非反斜杠 \,错误的换行符导致命令解析中断。

在 Windows 的 PowerShell 中运行 Docker 命令时遇到「sudo 无法识别」的问题,这是因为 Windows 系统原生不支持 sudo 命令(该命令是 Linux/Unix 系统的权限管理工具)。以下是具体原因和解决方案:


问题原因

  1. 命令语法差异
    Windows PowerShell 与 Linux 终端的命令体系不同,sudo 在 Windows 中默认不存在。
  2. Docker Desktop 权限机制
    在 Windows 中,Docker Desktop 安装时会自动配置权限,无需使用 sudo 即可执行 docker 命令。

解决方案

1. 直接运行 Docker 命令(推荐)

移除命令中的 sudo,直接执行:

docker run -d --privileged --shm-size=2G `
  -p 2201:22 `
  --name parallel `
  -v d:\src\shared:/root/shared `
  parallel `
  /bin/bash -c "while true; do sleep 1; done"

在这里插入图片描述

在这里插入图片描述


4. 验证镜像是否存在

执行 docker images 检查是否存在名为 parallel 的镜像。若不存在,需先构建或拉取镜像:

docker build -t parallel .  # 构建镜像(需 Dockerfile)
# 或
docker pull parallel       # 从仓库拉取(若镜像已发布)

关键参数说明

参数作用参考来源
--privileged授予容器特权模式(允许访问宿主机设备)
--shm-size=2G设置共享内存大小(解决 /dev/shm 容量问题)
-v 宿主机路径:容器路径目录挂载(需注意 Windows 路径格式)
/bin/bash -c指定容器启动后执行的命令(此处为保持容器运行的循环脚本)

常见问题排查

  1. 错误提示 Unable to find image 'parallel:latest' locally
    说明镜像不存在,需构建或拉取镜像。

  2. 挂载目录权限问题
    确保 Windows 的共享目录已开启 Docker 访问权限(Docker Desktop 设置 → Resources → File Sharing)。

  3. 端口冲突
    检查 2201 端口是否已被其他程序占用。



http://www.kler.cn/a/580064.html

相关文章:

  • PyTorch中的损失函数:F.nll_loss 与 nn.CrossEntropyLoss
  • 小华半导体学习方法
  • 如何为服务设置合理的线程数
  • mac|IDEA语言中文改回英文
  • Elasticsearch Java API Client [8.17] 使用
  • RoboVQA:机器人多模态长范围推理
  • protobuf, rpc, 火焰图
  • Kubernetes(K8s)集群中使用 GPU
  • C++零基础LeetCode热题100- 49.字母异位词分组
  • Linux提权-04 capabilities
  • 《 C++ 点滴漫谈: 三十 》高手写 C++,参数这样传才高效!你真的用对了吗?
  • UI自动化:Selenium常规的页面元素定位方法
  • 【漫话机器学习系列】123.感知机学习(Perceptron Learning)
  • 执行npm install 时,是如何将依赖包下载下来的。
  • 服务器磁盘占用率过高解决方案
  • 修复ubuntu下找不到音频设备的问题
  • docker修改daemon.json文件后无法启动
  • Zemax 中的 CAD 文件性能比较
  • 隧道定向号角喇叭为隧道安全保驾护航
  • 腾讯元宝:AI 时代的快速论文阅读助手