Docker(Ubuntu)部署SQL Server 2022+FTS失败:找不到mssql-server-fts包
解决SQL Server 2022 Ubuntu容器安装全文搜索(FTS)时找不到包的问题
出现E: Unable to locate package mssql-server-fts错误的核心原因是:默认SQL Server Ubuntu镜像的apt源未包含全文搜索包,需要先添加微软官方的SQL Server源并更新缓存。以下是具体解决步骤:
1. 修正Dockerfile,添加官方源并安装FTS
创建正确的Dockerfile.new,基于官方SQL Server 2022镜像,先配置微软源、更新apt索引,再安装FTS包:
# 基于官方SQL Server 2022 Ubuntu镜像 FROM mcr.microsoft.com/mssql/server:2022-latest # 切换为root用户执行安装操作 USER root # 添加微软SQL Server Ubuntu源 RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ && curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list > /etc/apt/sources.list.d/mssql-server.list # 更新apt缓存并安装全文搜索包 RUN apt-get update \ && apt-get install -y --no-install-recommends mssql-server-fts \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 切换回mssql用户 USER mssql
2. 配置docker-compose.yml关联自定义镜像
确保docker-compose.yml中使用上述Dockerfile构建镜像:
version: '3.8' services: sqlserver: build: context: . dockerfile: Dockerfile.new environment: - ACCEPT_EULA=Y - SA_PASSWORD=YourStrongPassword123! ports: - "1433:1433" volumes: - sqlserver_data:/var/opt/mssql volumes: sqlserver_data:
3. 重新构建并部署容器
执行以下命令清理旧容器、重新构建镜像并启动:
docker-compose down docker-compose up -d --build
4. 验证FTS安装
容器启动后,连接SQL Server执行以下语句,返回1则表示安装成功:
SELECT FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')
内容的提问来源于stack exchange,提问作者ZedZip
相关产品推荐
相关产品推荐

