ฉันมีไฟล์ต่อไปนี้อยู่ภายในคอนเทนเนอร์นักเทียบท่า (ubuntu:18.04)
เมื่อฉันพยายามที่จะเรียกใช้ด้วย นักเทียบท่า exec -it index_sql /dbrestore/init.sh
มันแสดงข้อผิดพลาดต่อไปนี้
รันไทม์ OCI exec ล้มเหลว: exec ล้มเหลว: container_linux.go:380: การเริ่มต้น
กระบวนการคอนเทนเนอร์เกิดจาก: ข้อผิดพลาดรูปแบบ exec: ไม่ทราบ
สคริปต์ภายในไฟล์:
#!/bin/bash
index_sql /opt/mssql-tools/bin/sqlcmd -i /dbrestore/dbCreate.sql -S 127.0.0.1 -U sa -P รหัสผ่าน
/opt/mssql-tools/bin/sqlpackage /a:นำเข้า /sf:/dbrestore/db.bacpac /tsn:localhost,1433 /tdn:index_new /tu:sa /tp:PASSWORD
/opt/mssql-tools/bin/sqlcmd -i /dbrestore/dbPrepare.sql -S 127.0.0.1 -U sa -P รหัสผ่าน
เมื่อบรรทัด "/opt/mssql-tools/bin/sqlpackage" ถูกลบออก มันก็ใช้ได้ดี
เมื่อฉันพยายามที่จะวิ่ง
นักเทียบท่า exec -it index_sql /opt/mssql-tools/bin/sqlpackage /a:Import /sf:/dbrestore/db.bacpac /tsn:localhost,1433 /tdn:index_new /tu:sa /tp:PASSWORD
หรือ SSH ในคอนเทนเนอร์นักเทียบท่าและเรียกใช้
/opt/mssql-tools/bin/sqlpackage /a:Import /sf:/dbrestore/db.bacpac /tsn:localhost,1433 /tdn:index_new /tu:sa /tp:nz6#EvGPkg7UQ9Xq
ทุกอย่างทำงานได้ดี
ใครสามารถช่วยฉันและบอกฉันว่าทำไมคำสั่งต่อไปนี้ไม่ทำงานเมื่ออยู่ในไฟล์ init.sh แต่ใช้งานได้ดีเมื่อรันด้วยตนเอง