如何在“ms-sql-server”容器中执行命令?

Sar*_*rit 5 php sql-server docker docker-compose

我现在正在尝试模拟生产环境。
最终 目标 :
1.2.3.4.5.6 .Apache
php5
Microsoft SQL Server
Create database
Make database schema
Connect from website

其中 3 个我可以简单地实现DockerFiledocker-compose.yml 问题是第四个

DockerFile

FROM debian:7

RUN apt-get update
RUN apt-get install -y freetds-common freetds-bin unixodbc php5-sybase apache2


RUN mkdir /source
WORKDIR /source

COPY application ./applications
COPY assets ./assets
COPY pushnotification ./pushnotification
COPY system ./system
COPY uploads ./uploads
COPY web.config .
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '3'

services:

  mssql:
    image: microsoft/mssql-server-linux:latest
    environment:
      ACCEPT_EULA: Y
      SA_PASSWORD: <password>
      MSSQL_PID: Developer
    restart: "always"
    ports:
        - "1433:1433"

  backend:
    container_name: gen365-cms
    build:
      context: .
      dockerfile: DockerFile
    links:
      - mssql
    ports:
      - "8081:8080"
Run Code Online (Sandbox Code Playgroud)

我正在尝试根据手册创建数据库

$ docker exec -it a3063bbff978 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P phohHa0gyahh2Vah
1> select Name from sys.databases;
2> \q
3> ;
4> exit
Run Code Online (Sandbox Code Playgroud)

问题: 我如何为我的数据库创建数据库container

Pre*_*rem 1

为 SQL Server 创建 Dockerfile 并使用 COPY 命令复制 sql 脚本文件(带有创建数据库和架构的命令),并在创建映像时使用 RUN 命令运行 sql 脚本并从映像创建容器。它会解决问题。

参考以下链接: https ://github.com/twright-msft/mssql-node-docker-demo-app