По умолчанию контейнеры Docker для Windows получают:
- при использовании изоляции Hyper-V (т. Е. В Windows 10), 1 ГБ памяти
- при использовании изоляции процесса, неограниченно (то же самое, что и host) memory
Подробности документированы здесь: https://github.com/moby/moby/pull/32724/files#diff-505c72218d90da970c16fdbf0b4f613c
При использовании docker-compose это означает, что вам необходимо явно установить ограничение памяти, например,
services:
mssql:
image: microsoft/mssql-server-windows-express
mem_limit: 4096m
для 4 ГБ доступной памяти.