当前位置: 首页 > 知识库问答 >
问题:

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

司马宏邈
2023-03-14

我希望能够在SQL服务器Docker实例中运行一些交互式命令。因为我不熟悉bash,而且我有一些PowerShell知识,所以我会使用PowerShell Core。

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

共有1个答案

班承德
2023-03-14

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

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用户(源代码):

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
 类似资料:
  • 我是Docker的新手。我创建了以下Dockerfile并运行它: 来自Centos:最新的ENV container docker运行YUM-Y更新&&yum clean all 我收到以下错误/输出: root@ggnlabvm-juper6:~/docker_test#docker build-t test。 将构建上下文发送到Docker守护进程2.048 kB 步骤1/3:来自Cento

  • 问题内容: 我想创建一个docker镜像并正确安装,因此我选择具有这些属性的基础镜像。因此,的第一行如下: 然后下一个命令是 在创建docker映像时创建了以下错误: 如何能够在此docker映像中安装? 问题答案: 如提示: 获取(13:权限被拒绝) 我相信这是由于您的基本形象: https://github.com/SeleniumHQ/docker- selenium/blob/master

  • 这是我第一次尝试创建Docker形象,我希望有人能帮助我。我的Dockerfile大致如下所示: 基本上,我只是为了扩展jar文件而安装Java。运行makefile时,出现以下错误: /bin/sh:1:/usr/lib/jvm/java-7-openjdk-amd64:权限被拒绝 我一直试图效仿这个例子:https://registry.hub.docker.com/u/barnybug/op

  • 据我所知,docker映像在被拉取时被安装到。有没有办法更改此位置,例如更改到像这样的已安装卷?

  • 我试图将nodejs和npm安装到基于官方wordpress映像的docker映像上,最终安装Gulp。 我的Dockerfile像这样 当我构建映像时,它似乎安装了nodejs,但却失败了 正在设置nodejs(4.8.2~DFSG-1)...update-备选项:在自动模式下使用/usr/bin/nodejs提供/usr/bin/js(js)update-备选项:警告:跳过/usr/share

  • 我得到了 我觉得我错过了一些极其简单的东西,但我却无法完全弄明白。如有任何帮助,将不胜感激。