docker - Windows 主机上 Linux 容器的卷

标签 docker nginx

我是 docker 的新手。我想在 Windows 容器内运行 ngnix 服务器,但 ngnix 图像仅适用于 Linux。因此,我已切换到 Windows 上的 Linux 容器并使用该镜像创建容器并将容器的端口 80 配置为我的主机端口 8000。

它正在运行,我看到了 ngnix 索引页。问题是我想将我的静态站点移动到这个容器,但是当我创建卷并将其安装到容器时,该卷是在 mobilinux 中创建的。 .

所以,我想将我的静态文件站点推送到该卷,对于 Windows 容器,该卷是在主机文件系统中创建的,我可以使用 docker volume inspect <volumename> 检查该卷。命令并找出文件夹,我可以将我的代码放在那里。我需要帮助将我的代码从 Windows 主机推送到 Linux 容器。

在容器内安装 vim 编辑器后,我可以在容器内使用 bash 并能够编辑 html 文件。但是当我尝试从 hyper-v 管理器连接到 mobilinux 虚拟机时,我无法连接。

最佳答案

您需要与 Docker Desktop for Windows 共享您的本地驱动器(卷),以便您的 Linux 容器可以使用它们。

类似如下:

enter image description here

然后像下一个这样的东西会起作用:

docker run -idt -v C:/your_folder_on_windows:/your_folder_in_container nginx

您只需将代码放在 C:/your_folder_on_windows 中,即可在容器的 /your_folder_in_container 中准备就绪。

详情引用official guide

关于docker - Windows 主机上 Linux 容器的卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56251167/

相关文章:

docker - Vagrant Kubernetes Docker Pull访问被拒绝对我从直接来自Docker Hub的镜像创建的标签

nginx - 在 GKE 专用集群上创建入口资源时超时

node.js - net::ERR_CONNECTION_CLOSED 在 mongo 文档中有超过 7 个子文档时在远程服务器上

nginx - docker-compose run ,链接到之前运行的容器

docker-compose 在/etc/hosts 中生成重复条目

docker - 从共享卷在 docker 上运行 shell 脚本

docker - 编辑 Docker 内容

docker - 尝试使用“让我们加密”保护Nginx,但无法使用非root用户访问/etc/letsencrypt/live中的.pem文件

ssl - nginx+socket.io+ssl : WebSocket connection to 'ws://wechat.pageguy.tech/socket.io/?EIO=3&transport=websocket' failed: Unexpected response code: 302

ssl - web端如何实现Https面向nginx及其背后的几个微服务