Sql server Docker compose和microsoft/mssql server linux:如何运行init sql脚本?

Sql server Docker compose和microsoft/mssql server linux:如何运行init sql脚本?,sql-server,docker,Sql Server,Docker,我想在docker上本地运行SQL Server和RabbitMQ。但是,我无法使用SQL脚本初始化SQL Server数据库。我的数据库档案 FROM microsoft/mssql-server-linux:latest COPY ./mock-database/db-dump.sql /etc/mock-database/ 这是我的docker-compose.yml version: '3.1' services: rabbitMq: image: rabbitmq

我想在docker上本地运行SQL Server和RabbitMQ。但是,我无法使用SQL脚本初始化SQL Server数据库。我的数据库档案

FROM microsoft/mssql-server-linux:latest

COPY ./mock-database/db-dump.sql /etc/mock-database/
这是我的docker-compose.yml

version: '3.1'
services:
  rabbitMq:
    image: rabbitmq
        hostname: localhost
        ports:
        - "15672:15672"
        - "5672:5672"
        - "5671:5671"

      db:
        image: listings_db
        ports:
        - "1433:1433"
        environment:
          SA_PASSWORD: "microsoftSucks1!"
          ACCEPT_EULA: "Y"
        command: /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P microsoftSucks1! -i /etc/mock-database/db-dump.sql
在我用myscript运行我的应用程序之后

    docker build -t listings_db -f mock-database/databaseDockerfile . 
    docker build -t rabbitmq -f rabbitmq/rabbitmqDockerfile . 
    docker-compose -f stack.yml up
我得到了这个例外

db_1        | Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
db_1        | Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2749.
db_1        | Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

如何解决此问题?

在SQL Server启动并能够接受连接之前,您需要等待几秒钟。 即:

#wait for the SQL Server to come up
sleep 10s

#run the setup script
/opt/mssql-tools/bin/sqlcmd  .....

#import the data 
/opt/mssql-tools/bin/bcp .......