问题标签 [docker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - 将虚拟主机分配给 Docker 端口
我设置了通配符 DNS,以便对自定义域 (*.foo) 的所有 Web 请求都映射到 Docker 主机的 IP 地址。如果我有多个容器运行 Apache(或 Nginx)实例,每个容器都将 Apache 端口 (80) 映射到某个外部入站端口。
我想做的是向 container-1.foo 发出请求,它已经通过我的自定义 DNS 服务器映射到正确的 IP 地址(Docker 主机的),但是将默认端口 80 请求代理到正确的 Docker 外部端口,以便来自指定容器的正确 Apache 实例能够基于自定义域进行响应。同样,container-2.foo 将代理到第二个容器的 apache,依此类推。
是否有为此预先构建的解决方案,我最好的选择是在 Docker 主机上运行 Nginx 代理,或者我应该编写一个具有管理 Docker 容器潜力的 node.js 代理(通过网络启动/停止/reuild ), 或者...?我有哪些选择可以让使用 Docker 容器更像是一种自然事件,而不是使用无关端口和容器杂耍?
docker - 将 Docker 映像作为容器运行
从 构建 Docker 映像后dockerfile
,我看到该映像已成功构建,但我该如何处理它?我不应该能够将它作为容器运行吗?
linux - 无法使用 SSH 连接到 docker 容器
我是 Docker 新手,我从 Dockerfile 构建了容器,我可以看到容器正在创建和运行,但我无法使用 ssh 连接到该容器。
这是我的 Dockerfile:
然后我运行了这个cmd:
当我这样做时docker ps
,我可以看到端口已分配,但我无法使用 ssh 连接到该容器。
$码头工人ps
apache - 如何在 docker 容器中运行 puppet 代理来构建它。我如何实现这一目标?
如果我使用CMD["/use/sbin/ssh", "-D"]
运行 docker 容器,我可以让它们运行守护进程,这很好。然后,我也想运行 puppet 代理,将我们所说的容器构建为 apache 服务器。
是否可以这样做,然后公开 apache 服务器?
docker - 在 Docker 中使用多个 Base Image 有什么影响?
我知道 docker 容器在 docker 主机之间是可移植的,但我对与 Base Image 和主机的关系感到困惑。
从Images 上的文档看来,如果您运行了各种基本映像,那么主机上的占用空间似乎会更大(类似于多个 VM)。这个假设正确吗?
- 好:许多容器共享一个基础镜像。
- BAD:许多容器运行单独/唯一的基本映像。
我敢肯定,很多这种困惑来自我对 LXC 的缺乏了解。
ubuntu - Docker:启动容器时出错:无法加载 AUFS 模块
使用onssh
进入我的 ec2 实例后,我尝试运行vagrant
ubuntu
sudo docker run -i -t ubuntu echo 'hello'
,但我收到此错误:
Error starting container da3124903fc4: Unable to load the AUFS module
我怎样才能加载这个AUFS module
?
我已经aufs-tools
安装了。
docker - Docker 容器未启动
我正在尝试运行这个 docker 示例。然而,我似乎无法启动我的 docker 容器。
当我尝试跑步时
sudo docker attach aff28c5dab36
,我看到了Impossible to attach to a stopped container, start it first
networking - 在启动之前在 Docker 映像上拥有两个 NIC
我有一个 Docker 映像ubuntu:latest
和一些其他依赖项。该脚本会自动以预期的 2 个 NIC 的 eth0(默认情况下存在)和 eth1 开始。因为第二个 NIC 不存在,所以脚本崩溃并且容器停止。因此,使用 Pipeworks 不起作用,因为容器不再存在。
我尝试将其添加到 Dockerfile:
但这也没有用。
是否有适当的方法来实现这一点,或者从 hack 开始:-)
也许以后有像“NIC eth1 dhcp”这样的东西会很酷。
-标记
git - 无法读取“https://github.com”的用户名:没有这样的设备或地址
我正在使用此命令git
构建docker
映像:sudo docker build github.com/roseperrone/myproject
,但出现此错误:
could not read Username for 'https://github.com': No such device or address
我应该如何提供我的 git 凭据?
我在 AWS ec2 实例中运行。
python - Docker、Supervisord 和日志记录 - 如何在 docker 日志中整合日志?
因此,通过 uWSGI 试验 Docker + Supervisord + Django 应用程序。我的整个堆栈工作正常,但需要整理日志记录。
如果我以非守护程序模式启动主管,
然后我将主管的日志记录输出播放到 docker logs 标准输出中。但是,如果 supervisord 处于守护程序模式,它自己的日志会被隐藏在容器文件系统中,并且它的应用程序的日志也会 - 在它们自己的 app__stderr/stdout 文件中。
我想要的是将主管和应用程序标准输出记录到 docker 日志中。
在非守护程序模式下启动 supervisord 是一个明智的想法,还是会导致意想不到的后果?另外,如何让应用程序日志也播放到 docker 日志中?