You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于mssql-tools的Docker容器无法直接调用sqlcmd的问题咨询

解决mssql-tools自定义容器中sqlcmd无法直接调用的问题

问题分析

基于mcr.microsoft.com/mssql-tools构建自定义容器时,替换默认ENTRYPOINT为tail -f /dev/null后,直接输入sqlcmd会提示命令找不到,但使用完整路径/opt/mssql-tools/bin/sqlcmd可正常运行。原因是官方镜像的默认启动流程会自动将/opt/mssql-tools/bin目录加入系统PATH环境变量,替换ENTRYPOINT后跳过了这个初始化步骤,导致系统无法识别sqlcmd的快捷调用。

解决方案

在Dockerfile中手动将/opt/mssql-tools/bin添加到PATH环境变量,修改后的Dockerfile如下:

FROM mcr.microsoft.com/mssql-tools

ENV PATH="$PATH:/opt/mssql-tools/bin"
ENTRYPOINT [ "tail", "-f", "/dev/null" ]

验证方法

构建镜像并启动容器后,执行以下命令验证:

sqlcmd -?  # 直接调用sqlcmd查看帮助
which sqlcmd  # 应返回/opt/mssql-tools/bin/sqlcmd

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:53:15