# microsoft/mssql-docker: SQL Server 2017 Container Resources

> This repository collects Dockerfiles, documentation links, and developer resources for running SQL Server in Linux or Windows containers. It is best treated as a reference resource, not as a current application deployment package.

**microsoft/mssql-docker** — Official Microsoft repository for SQL Server in Docker resources

- Repository: https://github.com/microsoft/mssql-docker
- Stars: 1,893 · Forks: 763
- Language: Dockerfile
- License: MIT
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/microsoft-mssql-docker

## What microsoft/mssql-docker Contains

microsoft/mssql-docker addresses the need to run Microsoft SQL Server inside Docker without assembling every container resource in a separate environment. The repository presents itself as the official Microsoft location for community engagement, documentation, Dockerfiles, and additional developer resources. Its intended audience includes developers setting up local database environments, engineers working with CI/CD workflows, and teams considering SQL Server containers for deployment.

The repository separates the supported directions described in its documentation. Linux-based containers use SQL Server 2017 Developer Edition on Linux with an Ubuntu 16.04 base image. The repository also includes preview Dockerfiles for RHEL and CentOS-based images. Windows-based containers use SQL Server 2017 Express Edition and Developer Edition, based on Windows Container technology.

That division matters because the images are not interchangeable. The README says Linux containers are intended for Docker Engine on multiple platforms, while Windows images require Docker Engine for Windows Containers. A team choosing between them must decide on the SQL Server edition and the host container platform together. The repository also points to the Microsoft Docker Hub page for additional images and identifies a separate mssql-tools image containing SQL Server command-line tools such as sqlcmd and bcp. The mssql-tools image is presented as a possible base for delivering SQL Server management payloads in CI/CD scenarios, but it is not part of the SQL Server database container itself.

## Linux and Windows Image Architecture

The Linux path is built around SQL Server 2017 Developer Edition and an Ubuntu 16.04 base image. The repository describes Dockerfiles for building this image and additional preview Dockerfiles under the Linux directory for RHEL and CentOS. The Linux container is intended to run on Docker Engine across multiple platforms, although the actual deployment still depends on the host operating system, Docker configuration, image availability, and Microsoft's SQL Server support requirements.

The Windows path uses a different container technology and different editions. The README names SQL Server 2017 Express Edition and SQL Server 2017 Developer Edition for Windows-based containers. It explicitly limits those images to Docker Engine for Windows Containers. It also mentions an Early Adopter Preview for SQL Server 2019 on Windows Containers, but the repository does not document that preview as a normal supported image or provide installation instructions for it.

The platform distinction also appears in the troubleshooting notes. An "Unknown blob" error is associated with trying to run a Windows Containers-based image on a Linux-based Docker Engine. The README attributes that failure to a mismatch between the image and the Docker Engine, and it points to a community article about running Linux and Windows containers on Windows 10. This is a useful operational boundary, but it is not a general compatibility test for every host configuration.

## A First SQL Server Container Use

The repository does not provide a complete local installation command such as a documented docker pull or docker run sequence. Instead, it directs users to the SQL Server on Linux container quickstart guide and the Microsoft Docker Hub page for additional images. Because the README does not reproduce those commands, this article does not invent them. Start with the linked SQL Server on Linux quickstart for the exact image pull and container startup sequence applicable to that documentation.

Before using the Linux image, review the repository's platform and licensing notes. The documented Linux image is based on Ubuntu 16.04 and contains SQL Server 2017 Developer Edition, so an engineer should confirm that this release and base image match the intended development or production case. For Windows-based images, use the Windows Containers setup path rather than adapting a Linux command.

The README also documents environment-variable behavior during startup. It says that ACCEPT_EULA and SA_PASSWORD are required by the mssql-server-linux image, and that Windows Docker CLI commands must use double quotes rather than single quotes when setting those environment variables. It also records a minimum password complexity requirement of 8 characters with uppercase and lowercase letters and alphanumeric or non-alphanumeric characters. These are documented startup constraints, not a complete security configuration.

## Support, Failure Modes, and Licensing

The most significant limitation is the age and specificity of the documented container targets. The README describes SQL Server 2017, Ubuntu 16.04, and an Early Adopter Preview for SQL Server 2019 on Windows Containers. It does not claim that these examples are the current supported release line for every SQL Server deployment. Before using a container for production, the README specifically directs users to review Microsoft's SQL Server Containers support policy.

The repository has no GitHub releases, so the repository history does not provide a release stream to compare with a current SQL Server product version. The repository is not archived, and the last push was on 2026-10-14. That status does not establish that every documented image, base operating system, or preview remains supported. The appropriate interpretation is narrower: the repository has received a recent push, while production suitability must be checked against the external support policy and current Microsoft documentation.

Licensing is separate from the repository's MIT license. The Docker resource files in microsoft/mssql-docker are licensed under MIT, but SQL Server licensing follows the edition being run. The README states that Express and Developer Editions are free, while Standard and Enterprise have a cost, and that the licensing model is the same across VMs, Docker, physical machines, cloud, and on-premises deployments. The MIT license should not be read as a grant of SQL Server licensing rights.

## Choosing This Repository or a Direct Image

microsoft/mssql-docker is useful when the decision is about understanding Microsoft's container choices, locating Dockerfiles, or finding the official links for SQL Server and SQL Server command-line tooling. Its main advantage is the explicit distinction between Linux and Windows containers, along with the warning about platform mismatch and the links to support and setup documentation. It saves an engineer from treating a SQL Server container as a platform-neutral artifact.

A direct Microsoft Docker Hub image is a different approach when the immediate goal is simply obtaining a runnable image. The README points to the Microsoft Docker Hub page and separately points to the mssql-tools Docker Image. Choosing the direct image path avoids treating Dockerfiles in this repository as a release catalog, while choosing this repository is more useful when the Dockerfile definitions or platform distinctions are the subject of the evaluation.

The repository is not an orchestration tool, backup system, database migration framework, or cluster manager. It does not document persistent storage, replication, monitoring, rollback, backup, or production upgrade procedures. If those requirements drive the decision, the README does not establish whether this repository covers them.

## Conclusion

Developers and DevOps engineers can use microsoft/mssql-docker as a reference for SQL Server container choices, but production adopters should first verify the current Microsoft support policy, select a supported host and edition, and obtain the appropriate image from Microsoft Docker Hub. The repository is not archived and its last push was on 2026-10-14, although its documented examples still center on SQL Server 2017 and Ubuntu 16.04.

## FAQ

### Can microsoft/mssql-docker run on Linux and Windows hosts?

The repository distinguishes Linux-based and Windows-based images. Linux images are intended for Docker Engine on multiple platforms, while Windows images require Docker Engine for Windows Containers. The README warns that using a Windows container image on a Linux Docker Engine can produce an "Unknown blob" error.

### Which SQL Server editions are included in the microsoft/mssql-docker resources?

The Linux image is described as SQL Server 2017 Developer Edition on Ubuntu 16.04. The Windows images are described as SQL Server 2017 Express Edition and SQL Server 2017 Developer Edition. The README also mentions an Early Adopter Preview for SQL Server 2019 on Windows Containers.

### What license applies to microsoft/mssql-docker?

The Docker resource files in the repository are licensed under MIT. The README separately states that SQL Server licensing depends on the edition, with Express and Developer Editions free and Standard and Enterprise editions carrying a cost.

## Sources

- [Issues](https://github.com/microsoft/mssql-docker/issues)
- [License: MIT](https://github.com/microsoft/mssql-docker/blob/master/LICENSE)
- [microsoft/mssql-docker on GitHub](https://github.com/microsoft/mssql-docker)
- [README](https://github.com/microsoft/mssql-docker/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/microsoft-mssql-docker
