误将Dockerfile作为bash脚本执行出现命令未找到错误求助
解决方法
你遇到的错误是因为把Dockerfile当成bash脚本执行了。文件里的FROM、RUN、ENV等都是Docker的专属指令,不是bash能识别的命令,所以bash会提示这些命令找不到。
正确的操作流程如下:
- 确认Windows 11上已安装Docker Desktop,并且Docker服务处于运行状态。
- 将当前文件重命名为
Dockerfile(Docker默认识别这个文件名,也可以自定义,但后续命令需指定文件名)。 - 在PowerShell终端进入文件所在目录,执行Docker镜像构建命令:
其中docker build -t marklogic-demo .-t marklogic-demo是给构建出的镜像添加标签(方便后续引用),.表示使用当前目录下的Dockerfile。 - 镜像构建完成后,运行容器:
docker run -d -p 7997:7997 -p 7998:7998 -p 7999:7999 -p 8000:8000 -p 8001:8001 -p 8002:8002 marklogic-demo-d参数让容器在后台运行,-p参数将容器内的端口映射到Windows主机的对应端口,之后你就可以通过localhost:8000等地址访问MarkLogic服务。
注意事项:
- 确保
MarkLogic-10.0-9.4.x86_64.rpm安装包和Dockerfile在同一目录下,否则Docker的COPY指令会找不到文件。 - 如果执行
docker命令时提示找不到该命令,检查Docker Desktop是否已启动,或者是否将Docker的安装路径添加到系统环境变量PATH中。
内容的提问来源于stack exchange,提问作者Rashmita Purkayastha
相关产品推荐
相关产品推荐

