赞
踩
任何受支持的 Linux 发行版上的 Docker 引擎 1.8 及更高版本。 有关详细信息,请参阅 Install Docker(安装 Docker)。
sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
前一个命令请求最新的 SQL Server 2022 (16.x) Linux 容器映像。 如果想请求某个特定映像,需添加一个冒号和标记名称,如
mcr.microsoft.com/mssql/server:2022-GA-ubuntu
。 若要查看所有可用映像,请参阅 mssql-server Docker hub 页。对于本文中的 bash 命令,将使用 sudo。 如果不想使用 sudo 来运行 Docker,可以配置一个 docker
组,并将用户添加到该组。 有关详细信息,请参阅 Post-installation steps for Linux(适用于 Linux
的安装后步骤)。
SA_PASSWORD 环境变量已弃用。 请改用 MSSQL_SA_PASSWORD。
sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
-p 1433:1433 --name sql1 --hostname sql1 \
-d \
mcr.microsoft.com/mssql/server:2022-latest
sudo docker ps -a
应该会看到与下面类似的输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4a1999ef83e mcr.microsoft.com/mssql/server:2022-latest "/opt/mssql/bin/perm..." 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp, :::1433->1433/tcp sql1
如果 SQL Server 容器的 STATUS 列显示 Exited,请参阅配置指南的疑难解答部分。 一旦 SQL Server 错误日志显示以下消息,就可连接此服务器:SQL Server is now ready for client connections. This is an informational message; no user action is required。 可以使用以下命令查看容器内的 SQL Server 错误日志:
docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。 创建 SQL Server 容器后,可以通过在容器中运行 echo $MSSQL_SA_PASSWORD 来发现指定的 MSSQL_SA_PASSWORD 环境变量。 出于安全考虑,请考虑更改 SA 密码。
选择 SA 用户要使用的强密码。
使用 docker exec 运行sqlcmd,以使用 Transact-SQL 更改密码。 以下示例将从用户输入中读取旧密码和新密码。
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA \
-P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \
-Q "ALTER LOGIN SA WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""
下列步骤在容器内部使用 SQL Server 命令行工具 sqlcmd 来连接 SQL Server。
sudo docker exec -it sql1 “bash”
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P
“YourNewStrong@Passw0rd”
可以省略命令行上提示要输入的密码。 下面是一个示例:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA
docker exec -it xxx /bin/bash
su - root
apt-get update
apt-get install sudo
apt-get install systemctl
docker exec -u root -it xxx /bin/bash
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
docker restart xxx
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。