如何在 SQL Server docker 映像之上安装 PowerShell Core?

Posted

技术标签:

【中文标题】如何在 SQL Server docker 映像之上安装 PowerShell Core?【英文标题】:How to install PowerShell Core on top of a SQL Server docker image? 【发布时间】:2020-05-10 12:29:34 【问题描述】:

我希望能够在 SQL Server Docker 实例中运行一些交互式命令。由于我不熟悉 bash 并且我有一些 PowerShell 知识,所以我会使用 PowerShell Core。

【问题讨论】:

【参考方案1】:

创建以下 Dockerfile(以 SQL Server 2019 映像为例,大部分内容来自 here):

FROM mcr.microsoft.com/mssql/server:2019-latest AS base
# This is required since the instance uses mssql user and the following command require root or sudo
# This is used to avoid installing sudo
USER root

# Download the Microsoft repository GPG keys
RUN wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb

# Register the Microsoft repository GPG keys
RUN dpkg -i packages-microsoft-prod.deb

# Update the list of products
RUN apt-get update

# Install PowerShell
RUN apt-get install -y powershell

# Revert back to default user used by SQL instance
USER mssql 

要以交互方式使用 docker 实例,请显式使用 root 用户 (source):

docker exec -u 0 -it mssqlcontainer pwsh
PowerShell 7.0.0
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/powershell
Type 'help' to get help.

PS /> $PSVersionTable.PSVersion

Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
7      0      0

【讨论】:

以上是关于如何在 SQL Server docker 映像之上安装 PowerShell Core?的主要内容,如果未能解决你的问题,请参考以下文章

为 MSSQL Server docker 映像启用 XA 事务

SQL Server使用手册

初始化后,SQL Server docker容器停止

是否可以在 Azure Windows Server DSVM 上创建自定义的基于 Linux 的 Docker 映像

从 Docker 容器内连接到 SQL Server Express 会导致评估密码时出错

Docker 之web api 访问 host sql server