我正在为我的应用程序自动设置开发环境,当我从命令行手动运行这两个命令时,我必须在运行第一个后运行第二个命令后等待大约10秒钟.
# command one (run the MysqL docker container)
docker run -p 3306:3306 --name MysqL-container-name -e MysqL_ROOT_PASSWORD=secret -e MysqL_DATABASE=mydbname -d MysqL:latest
# command two (import data into created db)
docker exec -i MysqL-container-name MysqL mydbname < ./dev-db.sql --password=secret
我试图将这两个命令自动化为一个bash别名,所以我可以做db-setup,但即使我将命令与&&第二个命令执行得太快(显然完全设置MysqL容器之前),因为我会收到此错误:
ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/var/run/MysqLd/MysqLd.sock' (2)
任何想法,只有当第一个命令完全完成它需要做的一切时,我才能得到第二个命令?
最佳答案