You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows10家庭版Docker Toolbox执行touch Dockerfile遇权限及命令问题求助

解决Windows 10家庭版Docker Toolbox中touch命令的问题

我来帮你拆解这两个报错的原因和对应的解决办法:

一、命令提示符(CMD)里提示'touch' is not recognized

touchLinux/Unix系统的原生命令,Windows CMD本身没有这个命令,所以不管是不是管理员模式都会报错。你可以用Windows原生的命令替代:

  • 创建空白Dockerfile:type nul > Dockerfile
  • 如果要创建带空行的文件(和touch效果更接近):echo. > Dockerfile

二、Docker Quickstart Terminal里提示Permission denied

Docker Toolbox是通过VirtualBox创建一个Linux虚拟机(默认叫default)来运行Docker的,你在Docker Quickstart Terminal里的操作其实是在这个虚拟机环境中。出现权限问题通常有这几个解决方向:

1. 切换到共享目录操作

Docker Toolbox默认会把Windows的C:\Users\你的用户名目录共享到虚拟机的/c/Users/你的用户名路径下,只有在这个共享目录内操作,权限才是正常的。你可以先执行cd /c/Users/你的用户名切换到该目录,再尝试touch Dockerfile

2. 用sudo临时提升权限

如果确实需要在非共享目录操作,或者共享目录仍有权限问题,可以用sudo获取root权限执行命令:

sudo touch Dockerfile

输入虚拟机的root密码即可(Docker Toolbox默认default虚拟机的root密码是tcpip,如果不行试试tcuser,这是默认docker用户的密码)。

3. 直接在Windows系统创建文件

更简单的方式:直接在Windows文件管理器里找到目标文件夹,右键新建文本文档,然后重命名为Dockerfile(注意要显示文件扩展名,去掉.txt后缀)。这个文件会自动同步到Docker Toolbox的虚拟机中,你可以直接在Terminal里编辑它。

内容的提问来源于stack exchange,提问作者SOURABH DHANUKA

火山引擎 最新活动