MSSQL Server 2019 on Docker e Full Text Search

Per impostazione predefinita, l’immagine contenuta nel container MSSQL Server 2019 non contiene il servizio Full Text Search. Per poter utilizzare questo servizio bisogna creare un’immagine personalizzata. Per fortuna ci sono immagini già preparate per MSSQL 2019, una di queste è presente qui:

https://schwabencode.com/blog/2019/10/27/MSSQL-Server-2017-Docker-Full-Text-Search

Utilizzando come base di partenza lo script presente al link, basta cambiare semplicemente 2017 in 2019 per avere uno script valido da salvare in un file DOCKERFILE.

## Source: https://github.com/Microsoft/mssql-docker/blob/master/linux/preview/examples/mssql-agent-fts-ha-tools/Dockerfile

# mssql-agent-fts-ha-tools
# Maintainers: Microsoft Corporation (twright-msft on GitHub)
# GitRepo: https://github.com/Microsoft/mssql-docker

# Base OS layer: Latest Ubuntu LTS
FROM ubuntu:16.04

# Install prerequistes since it is needed to get repo config for SQL server
RUN export DEBIAN_FRONTEND=noninteractive && \
    apt-get update && \
    apt-get install -yq curl apt-transport-https && \
    # Get official Microsoft repository configuration
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2019.list | tee /etc/apt/sources.list.d/mssql-server.list && \
    apt-get update && \
    # Install SQL Server from apt
    apt-get install -y mssql-server && \
    # Install optional packages
    apt-get install -y mssql-server-ha && \
    apt-get install -y mssql-server-fts && \
    # Cleanup the Dockerfile
    apt-get clean && \
    rm -rf /var/lib/apt/lists

# Run SQL Server process
CMD /opt/mssql/bin/sqlservr

Basta creare l’immagine con il comando:

docker build -t gianluigisellitto/mssql-fts:2019-ubuntu .

L#importante è di ricordare quando si avvia il container di fornire il parametro “MSSQL_AGENT_ENABLED=True”, altrimenti l’agent non viene avviato.