Ms Sql Server con docker-compose
1 min readNov 29, 2022
Ejemplo practico
TL;DR
Que requerimos, simple, solo tres archivos:
- docker-compose.yml
- sapassword.env
- sqlserver.env
y la idea es simple, en nuestros “.env’s” dejaremos nuestras variables de entornos las cuales serán la base de la generación de la imagen.
sapassword.env
MSSQL_SA_PASSWORD=Password12345
sqlserver.env
ACCEPT_EULA=Y
MSSQL_DATA_DIR=/var/opt/sqlserver/data
MSSQL_LOG_DIR=/var/opt/sqlserver/log
MSSQL_BACKUP_DIR=/var/opt/sqlserver/backup
docker-compose.yml
version: '3.9'
networks:
app-network-public:
driver: bridge
volumes:
sql-server-data:
driver: local
sqldata:
sqllog:
sqlbackup:
services:
db:
image: mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04
container_name: db-sqlserver
networks:
- app-network-public
restart: always
env_file:
- sqlserver.env
- sapassword.env
ports:
- '1433:1433'
volumes:
- sql-server-data:/var/opt/mssql/
- sqldata:/var/opt/sqlserver/data
- sqllog:/var/opt/sqlserver/log
- sqlbackup:/var/opt/sqlserver/backup
- /c/docker/shared:/usr/shared
Acciones posibles
- Validar versión docker-compose
docker-compose --version
- Levantar la imagen
docker-compose up -d
- Detener la imagen
docker-compose stop
- Borrar la imagen (y lo que conlleva)
docker-compose down
Como adicional
Entre los datos del docker-compose, esta la opción de agregar una carpeta local como un volumen en la contenedor, en este caso, se indica que la carpeta [/c/docker/shared] o si prefieren [c:/docker/shared] se vera reflejada en docker, en este caso en la ruta [/usr/shared].