简体   繁体   中英

SQLServer Container looses Data when stopped although it is mounted to volume

please bear in mind this is my first time posting here I might not know all the rules and stuff.

so I have just started working with dockers and images. I created a small.Net app and I used MsSQLServer docker image in my app. The app gets connected with the server and I am able to create database using CodeFirst approach (add-migration and update database works fine).

i am running my SQL container with -rm mode. Although it has a volume mounted to it but i have to create database every time i rerun the container. I read that if we want our data not to get lost when we delete the container we have to mount volumes to our container. i had done the same thing using MongoDb docker image and it worked fine. my data is still present even when i stop and rerun my MongoContainer. but my MSSQL is unable to retain data. here is the command im using to run my docker image ( i know about docker-compose but i am avoiding using it for now)

docker run -d --rm --name mssqlserver -p 1433:1433 -e "ACCEPT_EULA=Y" -e MSSQL_SA_PASSWORD=********** -v sqlData:/data/db  mcr.microsoft.com/mssql/server

Note: this says it will not delete named volume with --rm https://docs.docker.com/engine/reference/run/#clean-up---rm

The path you mount the volume on is a Linux path, so you need to use forward slashes rather than back-slashes, like this

docker run -d --rm --name mssqlserver -p 1433:1433 -e "ACCEPT_EULA=Y" -e MSSQL_SA_PASSWORD=********** -v sqlData:/var/opt/mssql mcr.microsoft.com/mssql/server

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM