我想在docker上本地运行SQL Server和RabbitMQ。但是,我无法使用sql脚本初始化SQL Server数据库。我的数据库Dockerfile
methods: {
text: item => item.name + ' — ' + item.description
}
这是我的docker-compose.yml
FROM microsoft/mssql-server-linux:latest
COPY ./mock-database/db-dump.sql /etc/mock-database/
在我使用myscript运行应用程序之后
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
我有这个例外
docker build -t listings_db -f mock-database/databaseDockerfile .
docker build -t rabbitmq -f rabbitmq/rabbitmqDockerfile .
docker-compose -f stack.yml up
如何解决这个问题?
答案 0 :(得分:1)
您需要等待几秒钟,然后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 .......
每个https://github.com/twright-msft/mssql-node-docker-demo-app/blob/master/import-data.sh