zoukankan      html  css  js  c++  java
  • 【docker随笔系列】安装sqlserver

    先决条件

    • 任何受支持的 Linux 分发或用于 Mac/Windows 的 Docker 上的 Docker 引擎 1.8+。 有关详细信息,请参阅 Install Docker(安装 Docker)。
    • Docker overlay2 存储驱动程序。 这是大多数用户的默认设置。 如果发现自己未使用此存储提供程序并且需要进行更改,请参阅 docker 文档中有关配置 overlay2 的说明和警告。
    • 至少 2 GB 的磁盘空间。
    • 至少 2 GB 的 RAM。
    • Linux 上的 SQL Server 的系统要求

    拉取并运行容器映像

    在开始执行以下步骤之前,请确保已在本文顶部选择了首选的 shell(bash、PowerShell 或 cmd)。

    1. 从 Microsoft 容器注册表中拉取 SQL Server 2017 Linux 容器映像。

    sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
    1. 前一个命令请求最新的 SQL Server 2017 容器映像。 如果想请求某个特定映像,需添加一个冒号和标记名称(例如 mcr.microsoft.com/mssql/server:2017-GA-ubuntu。 若要查看所有可用映像,请参阅 mssql-server Docker hub 页

      对于本文中的 bash 命令,将使用 sudo。 在 MacOS 上,可能不需要 sudo。 在 Linux 上,如果不想使用 sudo 来运行 Docker,可以配置一个 docker 组,并将用户添加到该组。 有关详细信息,请参阅 Post-installation steps for Linux(适用于 Linux 的安装后步骤)。

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

    sudo docker run --restart always -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=password' -e 'MSSQL_PID=Developer' -p 1333:1433 --name sql2017 -v /data/sqlserver2017_data:/var/opt/mssql -d microsoft/mssql-server-linux

     备注

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

     备注

    默认情况下,这会创建一个使用 SQL Server 2017 开发人员版的容器。 在容器中运行生产版本的过程略有不同。 有关详细信息,请参阅运行生产容器映像

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

    表 1
    参数说明
    -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 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。
    -d mcr.microsoft.com/mssql/server:2017-latest SQL Server 2017 Linux 容器映像。

    注:

    -v /data/sqlserver2017_data:/var/opt/mssql 表示将docker的/var/opt/mssql挂载到宿主机的/data/sqlserver2017_data目录

    要查看 Docker 容器,请使用 docker ps 命令。

    sudo docker ps -a

    如果“状态”列显示“正常运行”,则 SQL Server 将在容器中运行,并侦听“端口”列中指定的端口 。 如果 SQL Server 容器的“状态”列显示“已退出”,则参阅配置指南的疑难解答部分 。

    连接到 SQL Server

    下列步骤在容器内部使用 SQL Server 命令行工具 sqlcmd 来连接 SQL Server。

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

    sudo docker exec -it sql2017 "bash"

    坑:

    一定要挂载/var/opt/mssql目录到宿主机,这样就可以使用SQL Server Management Studio连接数据库备份还原,否则各种权限坑。

    参考文档:

    https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash

  • 相关阅读:
    饿了么P7级前端工程师进入大厂的面试经验
    前端程序员面试的坑,简历写上这一条信息会被虐死!
    这次来分享前端的九条bug吧
    移动端开发必会出现的问题和解决方案
    创建一个dynamics 365 CRM online plugin (八)
    创建一个dynamics 365 CRM online plugin (七)
    创建一个dynamics 365 CRM online plugin (六)
    创建一个dynamics 365 CRM online plugin (五)
    使用User Primary Email作为GUID的问题
    怎样Debug Dynamics 365 CRM Plugin
  • 原文地址:https://www.cnblogs.com/zhunian/p/12603025.html
Copyright © 2011-2022 走看看