ฉันต้องการเรียกใช้สคริปต์ sql บนการตั้งค่าคอนเทนเนอร์ MS SQL
ถ้าฉันทำทุกอย่างแยกกันก็ใช้ได้ผลดี:
เรียกใช้คอนเทนเนอร์
นักเทียบท่าเรียกใช้ -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=รหัสผ่าน" -p 1434:1433 --name ms-sql -d mcr.microsoft.com/mssql/server:2019-latest
เชื่อมต่อกับคอนเทนเนอร์
นักเทียบท่า exec -it ms-sql "ทุบตี"
เรียกใช้ SQL
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'รหัสผ่าน' -Q 'สร้างฐานข้อมูล TestDB12'
แต่ถ้าลองทำแบบเดียวกันตอนสร้างคอนเทนเนอร์
นักเทียบท่าเรียกใช้ -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=รหัสผ่าน" -p 1434:1433 --name ms-sql -d mcr.microsoft.com/mssql/server:2019-latest sh -c "/opt/mssql -tools/bin/sqlcmd -S localhost -U SA -P 'รหัสผ่าน' -Q 'สร้างฐานข้อมูล TestDB12'"
sqlcmd ไม่สามารถเข้าสู่ระบบด้วยข้อผิดพลาด
Sqlcmd: ข้อผิดพลาด: ไดรเวอร์ Microsoft ODBC 17 สำหรับ SQL Server: การหมดเวลาเข้าสู่ระบบหมดอายุ
Sqlcmd: ข้อผิดพลาด: ไดรเวอร์ Microsoft ODBC 17 สำหรับ SQL Server: ผู้ให้บริการ TCP: รหัสข้อผิดพลาด 0x2749
Sqlcmd: ข้อผิดพลาด: ไดรเวอร์ Microsoft ODBC 17 สำหรับ SQL Server: เกิดข้อผิดพลาดเกี่ยวกับเครือข่ายหรือเฉพาะอินสแตนซ์ขณะสร้างการเชื่อมต่อกับ SQL Server ไม่พบเซิร์ฟเวอร์หรือไม่สามารถเข้าถึงได้ ตรวจสอบว่าชื่ออินสแตนซ์ถูกต้องหรือไม่ และกำหนดค่า SQL Server ให้อนุญาตการเชื่อมต่อระยะไกลหรือไม่ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ SQL Server Books Online..