使用官方Microsoft .Net Core SDK映像在交互模式下使用Docker

mjqavswn  于 2023-03-17  发布在  Docker
关注(0)|答案(4)|浏览(107)

我尝试使用正式的Microsoft .Net Core映像进入交互模式并使用典型的.Net命令(如“dotnet build”),但得到的只是一个“〉”光标。我做错了什么?
我正在使用以下命令:

docker run -it -v $(pwd):/app' -w '/app' -p 8000:80 mcr.microsoft.com/dotnet/core/sdk /bin/bash

我希望得到一个根命令提示符,但我得到的只是'〉'

nnt7mjpx

nnt7mjpx1#

Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Run a command in a running container

Options:
  -d, --detach               Detached mode: run command in the background
      --detach-keys string   Override the key sequence for detaching a
                             container
  -e, --env list             Set environment variables
  -i, --interactive          Keep STDIN open even if not attached
      --privileged           Give extended privileges to the command
  -t, --tty                  Allocate a pseudo-TTY
  -u, --user string          Username or UID (format:
                             <name|uid>[:<group|gid>])
  -w, --workdir string       Working directory inside the container

运行容器后,运行命令docker ps以获取[Container ID]
在您能够像docker exec -it [Container ID] bash .那样运行命令之后

tsm1rwdh

tsm1rwdh2#

你错过了最初的报价在这里:

-v $(pwd):/app'

这应该是:

-v "$(pwd):/app"

它必须是一个双引号,$(pwd)才能被shell正确地计算,否则shell将发送不是有效路径的文本$(pwd)

bihw5rsg

bihw5rsg3#

似乎没有人给出一个直接的答案,这一个对我很有效:

docker run --rm -it -v $PWD:/app -w /app -p 8000:80 mcr.microsoft.com/dotnet/core/sdk /bin/bash
des4xlb0

des4xlb04#

上面的图像路径不是微软在他们的文档中提到的。不确定是否从上面起发生了变化,但路径中没有“核心”:
mcr.microsoft.com/dotnet/sdk:7.0 (from)
这对我很有效:

docker run --rm -it -v "$PWD:/app" -w /app -p 8000:80 mcr.microsoft.com/dotnet/sdk:6.0 /bin/bash

相关问题