Tôi muốn chạy tập lệnh sql trên thiết lập bộ chứa MS SQL.
Nếu tôi làm mọi thứ riêng biệt thì tất cả đều hoạt động tốt:
Chạy vùng chứa
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password" -p 1434:1433 --name ms-sql -d mcr.microsoft.com/mssql/server:2019-latest
Kết nối với thùng chứa
docker exec -it ms-sql "bash"
Chạy SQL
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Mật khẩu' -Q 'tạo cơ sở dữ liệu TestDB12'
Nhưng nếu cố gắng làm tương tự khi tạo vùng chứa
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=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 'Mật khẩu' -Q 'tạo cơ sở dữ liệu TestDB12'"
sqlcmd không đăng nhập được với lỗi
Sqlcmd: Lỗi: Microsoft ODBC Driver 17 cho SQL Server: Hết thời gian chờ đăng nhập.
Sqlcmd: Lỗi: Trình điều khiển Microsoft ODBC 17 dành cho SQL Server: Nhà cung cấp TCP: Mã lỗi 0x2749.
Sqlcmd: Lỗi: Trình điều khiển Microsoft ODBC 17 cho SQL Server: Đã xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể trong khi thiết lập kết nối với SQL Server. Máy chủ không được tìm thấy hoặc không thể truy cập. Kiểm tra xem tên phiên bản có đúng không và SQL Server có được cấu hình để cho phép kết nối từ xa không. Để biết thêm thông tin, hãy xem Sách SQL Server trực tuyến..