в качестве предисловия: вам не нужен dockerfile или docker-compose для запуска экземпляра сервера sql для вашей среды разработки. Если вы просто хотите быстро запустить свой последний контейнер на 2017 год, просто введите команду, которую вы уже нашли.
Однако, если вы хотите легко сохранить команду, не вводя ее каждый раз, почему бы не добавить простой скрипт bat в вашу папку.
Хотя, если вы хотите расширить свой образ докера (например, установить дополнительные библиотеки), вам понадобится файл докера. Пожалуйста, также обратитесь к документации докера (отличная документация), чтобы узнать, как это сделать.
Или, если вы хотите создать несколько экземпляров докера (для того, чтобы они могли легко общаться друг с другом), тогда файл docker-compose - это то, что вам нужно.
Но для того, чтобы действительно ответить на ваш вопрос:
Создайте какую-нибудь папку с 2 файлами
folder
|__> DockerFile
|__> docker-compose.yml
Содержимое вашего DockerFile будет:
(имейте в виду, что этот пример здесь на самом деле ничего не делает, кроме указания на существующий образ Microsoft , но если вы используете его без docker-compose, вы также можете определить здесь сопоставления файлов, настройку пароля и т. д. и просто запустить новый контейнер из этого нового предварительно настроенного образа)
FROM microsoft/mssql-server-windows-developer:2017
# environment configuration moved into docker-compose file
# EXPOSE 1433:1433
# ENV attach_dbs="[{'dbName':'YourDBName','dbFiles':['C:\\temp\\yourDB.mdf','C:\\temp\\yourDB_Log.ldf']}]"
# ENV ACCEPT_EULA=Y
# ENV sa_password=yourPassword
Тогда ваш docker-compose.yml может выглядеть так:
version: '3'
services:
yourServiceName:
container_name: yourContainerName
build: .
ports:
- "1433:1433"
volumes:
- .:C:/temp/
environment:
sa_password: "yourPassword"
ACCEPT_EULA: "Y"
attach_dbs: "[{'dbName':'YourDBName','dbFiles':['C:\\\\temp\\\\yourDB.mdf','C:\\\\temp\\\\yourDB_Log.ldf']}]"
вызов docker-compose up
в cml или PowerShell внутри папки запустит этот новый контейнер SQL-Server.
Независимо от того, я бы порекомендовал сопоставить файлы mdf и ldf для быстрого доступа и, например, для сохранения состояния, даже если вы выключили образ докера (если это ваше желаемое поведение).