【发布时间】:2020-01-07 18:05:08
【问题描述】:
我对 docker 很陌生。 我也在使用 Docker for Windows(即 Image 和 Container 用于 Windows 操作系统)。
我正在尝试获取所有文件夹和子文件夹的列表,以解决我遇到的另一个问题。我阅读了几篇文章和博客,似乎我应该能够运行
docker exec -it <container id> dir
获取信息,因为它允许我对容器运行命令。 我什至跑了
docker exec -it f83eb1533b67 help
它给了我一个命令列表(因为没有人告诉什么是可接受的'命令'......)并且它被列出了。但是当我运行 DIR 命令时收到以下消息
PS P:\docker\tmp\SqlServerSetup> `docker exec -it f83eb1533b67 dir`
container f83eb1533b671b4462b8a1562da7343185b2dd27e94ff360e0230969d432ec37 encountered an error during CreateProcess: failure in a Windows system call: The system cannot find the file specified. (0x2)
[Event Detail: Provider: 00000000-0000-0000-0000-000000000000] extra info: {"CommandLine":"dir","WorkingDirectory":"C:\\","Environment":{"ACCEPT_EULA":"Y","attach_dbs":"[]","sa_password":"Pass1.4DBAs","sa_password_path":"C:\\ProgramData\\Docker\\secrets\\sa-password"},"EmulateConsole":true,"CreateStdInPipe":true,"CreateStdOutPipe":true,"ConsoleSize":[0,0]}
PS P:\docker\tmp\SqlServerSetup>
请注意:我不想保留卷。似乎该选项适用于试图重用数据的人。
更新: 这是我用来创建容器的语句:
docker run -p 1433:1433 -e sa_password=Pass1.4DBAs -e ACCEPT_EULA=Y -p 11433:1433 --name sqlTraining --cap-add SYS_PTRACE -d microsoft/mssql-server-windows-developer
它工作正常。容器已创建,但我想查看该容器中的文件系统。
【问题讨论】:
-
你的 Dockerfile 的基础是什么?
-
你用的是哪张图片?
-
docker exec -it f83eb1533b67 /bin/bash
-
容器是基于 Windows 还是基于 Linux?
-
我没有确切的声明,但我知道它使用了
FROM microsoft/mssql-server-windows-developer。当我可以在几个小时内重新登录时,我将使用确切的命令更新原始问题。我想最终达到创建 dockerfile 的目的,我找到了一个教程,但它适用于 Linux 容器,所以我不得不针对 Windows 进行修改。如果我能在这个问题上得到帮助,它将帮助我完成创建 dockerfile,因为我无法告诉文件(数据库文件)的位置
标签: windows docker docker-for-windows docker-desktop