Docker (Ubuntu) + SQL Server 2022 + FTS?

huangapple go评论95阅读模式
英文:

Docker (Ubuntu)+SQL Server 2022+FTS?

问题

我正在运行 Docker(Ubuntu)+ SQL Server 2022,使用 docker-compose 文件。

  1. version: "3.4"
  2. services:
  3. sql-server-db:
  4. image: "mcr.microsoft.com/mssql/server:2022-latest"
  5. ports:
  6. - "52477:1433"
  7. environment:
  8. SA_PASSWORD: "dobedo#123"
  9. ACCEPT_EULA: "Y"

它运行正常,但是

  1. SELECT FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')
  2. ---
  3. 0

如何在 Docker 中运行 SQL Server 2022 + FTS?

我已经创建了两个文件 docker-compose.ymlDockerfile.new(如下所述)。运行 docker-compose up -d 后,我收到以下消息:

  1. PS D:\_Docker\SQLServer> docker-compose up -d
  2. Building 1.1s (6/7)
  3. [sql-server-db internal] load build definition from Dockerfile.new 0.0s
  4. transferring dockerfile: 736B 0.0s
  5. [sql-server-db internal] load .dockerignore 0.0s
  6. transferring context: 2B 0.0s
  7. [sql-server-db internal] load metadata for mcr.microsoft.com/mssql/server:2022-latest 0.0s
  8. [sql-server-db 1/4] FROM mcr.microsoft.com/mssql/server:2022-latest 0.0s
  9. CACHED [sql-server-db 2/4] RUN apt-get update && apt-get install -yq curl apt-transport-https 0.0s
  10. ERROR [sql-server-db 3/4] RUN apt-get install -y mssql-server-fts 1.1s
  11. ------
  12. > [sql-server-db 3/4] RUN apt-get install -y mssql-server-fts:
  13. #0 0.278 Reading package lists...
  14. #0 0.927 Building dependency tree...
  15. #0 1.073 Reading state information...
  16. **#0 1.090 E: Unable to locate package mssql-server-fts**

我的 Dockerfile.new

  1. FROM mcr.microsoft.com/mssql/server:2022-latest
  2. USER root
  3. RUN apt-get update && apt-get install -yq curl apt-transport-https
  4. #RUN add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
  5. RUN apt-get install -y mssql-server-fts
  6. RUN apt-get update && \
  7. apt-get install -yq curl apt-transport-https && \
  8. # Get official Microsoft repository configuration
  9. curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
  10. curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server.list && \
  11. apt-get update && \
  12. apt-get install -y mssql-server-fts
英文:

I am running Docker (Ubuntu)+SQL Server 2022 using docker-compose file

  1. -----
  2. version: "3.4"
  3. services:
  4. sql-server-db:
  5. image: "mcr.microsoft.com/mssql/server:2022-latest"
  6. ports:
  7. - "52477:1433"
  8. environment:
  9. SA_PASSWORD: "dobedo#123"
  10. ACCEPT_EULA: "Y"
  11. -----

It works fine, but

  1. SELECT FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')
  2. ---
  3. 0

How to run Docker with SQLServer2022 + FTS ?

I have created 2 files docker-compose.yml and Dockerfile.new (as it was described below). After run the >docker-compose up -d I have recived

  1. PS D:\_Docker\SQLServer> docker-compose up -d
  2. Building 1.1s (6/7)
  3. [sql-server-db internal] load build definition from Dockerfile.new 0.0s
  4. transferring dockerfile: 736B 0.0s
  5. [sql-server-db internal] load .dockerignore 0.0s
  6. transferring context: 2B 0.0s
  7. [sql-server-db internal] load metadata for mcr.microsoft.com/mssql/server:2022-latest 0.0s
  8. [sql-server-db 1/4] FROM mcr.microsoft.com/mssql/server:2022-latest 0.0s
  9. CACHED [sql-server-db 2/4] RUN apt-get update && apt-get install -yq curl apt-transport-https 0.0s
  10. ERROR [sql-server-db 3/4] RUN apt-get install -y mssql-server-fts 1.1s
  11. ------
  12. > [sql-server-db 3/4] RUN apt-get install -y mssql-server-fts:
  13. #0 0.278 Reading package lists...
  14. #0 0.927 Building dependency tree...
  15. #0 1.073 Reading state information...
  16. **#0 1.090 E: Unable to locate package mssql-server-fts**

My Dockerfile.new:

  1. FROM mcr.microsoft.com/mssql/server:2022-latest
  2. USER root
  3. RUN apt-get update && apt-get install -yq curl apt-transport-https
  4. #RUN add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
  5. RUN apt-get install -y mssql-server-fts
  6. RUN apt-get update && \
  7. apt-get install -yq curl apt-transport-https && \
  8. # Get official Microsoft repository configuration
  9. curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
  10. curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server.list && \
  11. apt-get update && \
  12. apt-get install -y mssql-server-fts

答案1

得分: 1

你应该添加包 apt install -y mssql-server-fts

所以,在你的情况下,创建一个类似这样的 Dockerfile:

  1. FROM mcr.microsoft.com/mssql/server:2022-latest
  2. USER root
  3. RUN apt update && apt install -y mssql-server-fts

并相应地修改 docker-compose 文件:

  1. services:
  2. sql-server-db:
  3. build:
  4. context: .
  5. dockerfile: Dockerfile
  6. ...
英文:

You should add the package apt install -y mssql-server-fts.

So, in your case, create a Dockerfile like this:

  1. FROM mcr.microsoft.com/mssql/server:2022-latest
  2. USER root
  3. RUN apt update && apt install -y mssql-server-fts

and modify the docker-compose file accordingly:

  1. services:
  2. sql-server-db:
  3. build:
  4. context: .
  5. dockerfile: Dockerfile
  6. ...

huangapple
  • 本文由 发表于 2023年6月19日 20:18:18
  • 转载请务必保留本文链接:https://go.coder-hub.com/76506555.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定