在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,直接执行:

powershell 复制代码
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 的镜像。若不存在,需先构建或拉取镜像:

powershell 复制代码
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 端口是否已被其他程序占用。


相关推荐
^—app5668661 天前
游戏运存小启动不起来临时解决方法
运维·服务器
Ujimatsu1 天前
虚拟机安装Debian 13.x及其常用软件(2026.4)
linux·运维·ubuntu
志栋智能1 天前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
Edward111111111 天前
4月28日防火墙问题
linux·运维·服务器
小猿姐1 天前
Redis Kubernetes Operator 实测:三个方案的真实差距
redis·容器·kubernetes
米高梅狮子1 天前
08.CronJob和Service
云原生·容器·架构·kubernetes·自动化
想学后端的前端工程师1 天前
【补充内外网突然不通的情况】
运维·服务器
面汤放盐1 天前
何时使用以及何时不应使用微服务:没有银弹
java·运维·云计算
子琦啊1 天前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法