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

Coldfusion 2021/2023 Docker环境添加SQL Server数据源提示包未安装

ColdFusion 2021/2023 Docker环境连接SQL Server数据源问题解决及版本差异

问题场景

在Windows机器上通过以下Docker Compose配置部署ColdFusion 2021与SQL Server 2019环境:

version: "3.7"
services:
  sql:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: sql
    hostname: sql
    networks:
      - network
    ports:
      - "1433:1433"
    volumes:
      - "mssqldata:/var/opt/mssql"
      - "./data:/data"
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=SQLS3rv3r
      - MSSQL_AGENT_ENABLED=true
      - MSSQL_PID=Express
    
  coldfusion:
    image: adobecoldfusion/coldfusion:latest-2021
    container_name: coldfusion
    hostname: coldfusion
    networks:
      - network
    ports:
      - "80:8500"
    volumes:
      - "./app:/app"
      - "./data:/data"
    environment:
      acceptEULA: "YES"
      password: "C0ldFusi0n"
      enableSecureProfile: "false"
    healthcheck:
      test: curl -f http://localhost/
      interval: 1m
      timeout: 3s
    depends_on:
      - sql
volumes:
  mssqldata:
networks:
  network:

在ColdFusion管理员界面添加SQL Server数据源时,出现以下错误:

java.sql.SQLException: The sqlserver package is not installed. You can install the package through the CLI package manager (/opt/coldfusion/cfusion/bin/cfpm.sh) by running the command : install sqlserver.

切换至ColdFusion 2018版本则无此问题,需明确2021/2023版本与2018版本的差异及解决办法。

版本核心差异

ColdFusion 2018及更早版本的官方Docker镜像默认预装了SQL Server的JDBC驱动包,而从2021版本开始,Adobe为精简镜像体积,将第三方数据库驱动(包括SQL Server、Oracle、MySQL等非内置驱动)从默认镜像中移除,改为通过ColdFusion Package Manager(CFPM)工具按需安装。

解决办法

方法1:进入容器手动安装

  1. 进入ColdFusion容器终端:
    docker exec -it coldfusion /bin/bash
  2. 执行SQL Server驱动安装命令:
    /opt/coldfusion/cfusion/bin/cfpm.sh install sqlserver
  3. 重启ColdFusion服务使驱动生效:
    /opt/coldfusion/cfusion/bin/cfstart

方法2:修改Docker Compose实现自动安装

在coldfusion服务中添加command字段,实现容器启动时自动安装驱动并启动服务:

coldfusion:
  image: adobecoldfusion/coldfusion:latest-2021
  container_name: coldfusion
  hostname: coldfusion
  networks:
    - network
  ports:
    - "80:8500"
  volumes:
    - "./app:/app"
    - "./data:/data"
  environment:
    acceptEULA: "YES"
    password: "C0ldFusi0n"
    enableSecureProfile: "false"
  healthcheck:
    test: curl -f http://localhost/
    interval: 1m
    timeout: 3s
  depends_on:
    - sql
  command: >
    bash -c "/opt/coldfusion/cfusion/bin/cfpm.sh install sqlserver && /opt/coldfusion/cfusion/bin/cfstart"

修改配置后,重新启动容器:
docker-compose up -d --force-recreate


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:55:56