AlbertMa6 2025-06-30 15:13 采纳率: 87.5%
浏览 18
已结题

docker里ollama使用本机GPU,显示docker:not found

docker里ollama使用本机GPU,显示docker:not found
windows下的docker desktop在ollama的exec点击open in external terminal,弹出docker exec -it输入docker xxxxxx(后面省略),显示docker:not found
请问怎么解决呀?

img

  • 写回答

4条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-06-30 15:15
    关注

    让【宝码香车】来帮你解答,本回答参考DeepSeek编写,并整理提供。

    如果还有疑问可以点击头像关注私信或评论。如果答案让您满意,请采纳、点赞、关注,非常感谢!

    若您愿意支持,欢迎直接打赏,将不胜感激!
    .

    Docker容器内执行docker命令报错解决方案

    问题描述:在Windows Docker Desktop中运行Ollama容器时,尝试在容器内部执行docker命令时出现"docker: not found"错误。

    问题原因

    这个错误是因为你正在尝试在Docker容器内部执行docker命令,但容器内部并没有安装docker客户端。Docker容器默认是一个精简的环境,不会包含docker命令行工具。

    解决方案

    方案1:使用宿主机docker命令(推荐)

    不要在容器内部执行docker命令,而是在宿主机上执行:

    1. 打开Windows的命令提示符或PowerShell(不是在容器内部)
    2. 直接执行docker命令,例如:
    docker run -p 11434:11434 --name ollama_test --runtime=nvidia --gpus all ollama/ollama
    

    方案2:在容器内安装docker客户端(不推荐)

    如果你确实需要在容器内部执行docker命令(通常不推荐),可以:

    1. 进入容器:
    docker exec -it ollama_test /bin/sh
    
    1. 在容器内安装docker客户端(以Alpine Linux为例):
    apk add docker-cli
    

    但这种方法会导致容器变得臃肿,且可能引发权限问题。

    方案3:使用Docker-in-Docker(特定场景)

    对于CI/CD等特殊场景,可以使用Docker-in-Docker方案:

    docker run -it --privileged --name dind -d docker:dind
    

    正确使用Ollama容器的流程

    用户

    注意事项

    1. 确保Windows Docker Desktop已正确安装并运行
    2. 确保已启用WSL 2后端(推荐)
    3. 确保NVIDIA容器工具包已正确安装(如需使用GPU)
    4. 所有docker命令应在宿主机执行,而不是容器内部

    如果你只是想运行Ollama服务,只需在宿主机执行一次docker run命令即可,不需要在容器内部再次执行docker命令。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月9日
  • 已采纳回答 7月1日
  • 创建了问题 6月30日