mac上安装及使用docker

本文介绍了在Mac上如何通过brew安装Docker,以及如何利用Docker运行SQL Server 2017 Linux容器,包括设置SA密码、连接SQL Server以及使用Azure Data Studio进行可视化管理。

Table of Contents

mac上安装docker

mac上用docker使用sql server

更改 SA 密码

连接 SQL Server

使用可视化工具Azure Data Studio 连接sql server


mac上安装docker

mac上的软件包管理工具是brew,在安装好brew之后,只需在终端使用下面的命令即可:

brew cask install docker

安装成功之后的显示如下

然后我们可以在app里启动docker,启动之后在终端输入docker --version,可以看到如下输出:

mac上用docker使用sql server

在装好docker之后,可以使用如下命令从 Microsoft 容器注册表中拉取 SQL Server 2017 Linux 容器映像。

sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

安装成功之后显示如下:

然后,要使用 Docker 运行容器映像,可以从 Bash Shell (Linux/macOS) 或提升的 PowerShell 命令提示符使用以下命令。

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 \
   -d mcr.microsoft.com/mssql/server:2017-latest

密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,将停止工作。 默认情况下,密码的长度必须至少为 8 个字符,并且必须包含以下四种字符中的三种:大写字母、小写字母、十进制数字和符号。 你可以通过执行docker logs命令检查错误日志

不过博主在运行上述命令时,并没有成功,报的错为:docker: invalid reference format.目前原因未知,但是使用如下的命令却成功了:

sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=1234qwer!' \
   -p 1401:1433 --name sql1 \
   -d microsoft/mssql-server-linux:2017-latest

下表是对前一个 docker run 示例中的参数进行的说明:

参数描述
-e 'ACCEPT_EULA=Y'将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
-e 'SA_PASSWORD=<YourStrong!Passw0rd>'指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。
-p 1433:1433将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1433 公开。
--name sql1为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。
mcr.microsoft.com/mssql/server:2017-latestSQL Server 2017 Linux 容器映像。

运行成功之后,我们可以使用如下命令查看docker的情况:

sudo docker ps -a

该命令将返回下面的结果:

如果“stattus”列显示“up”,则 SQL Server 将在容器中运行,并监听“port”列中指定的端口 。 如果 SQL Server 容器的“status”列显示“Exited“则表明此时安装出现了问题。

更改 SA 密码

SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。使用下面的命令即可:

sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P "<YourStrong!Passw0rd>" \
   -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong!Passw0rd>"'

连接 SQL Server

使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称。

sudo docker exec -it sql1 "bash"

在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong!Passw0rd>"

如果成功,应会显示 sqlcmd 命令提示符:1>

使用可视化工具Azure Data Studio 连接sql server

微软提供了一个叫做Azure Data Studio 的可视化工具,可以在Windows,mac,linux上连接sql server,下载地址是:https://docs.microsoft.com/en-us/sql/azure-data-studio/download?view=sql-server-2017

连接方式如下:

Welcome 页面,选择 Help > Welcome.选择 New Connection 打开 Connection界面:

New Connection Icon

使用sql login

  • Server Name: - 输入server地址,比如 localhost.

  • Authentication Type: SQL Login

  • User name: SQL Server用户名

  • Password:  SQL Server密码

  • Database Name: 不填

  • Server Group: <Default>

点击connect,这样我们就连上sql server了

要创建一个数据库,右键点击localhost, 选择 New Query,然后我们就可以创建一个数据库并执行各种sql语句了,如下图所示:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值