太长,读不下去了
有人知道我该如何配置squid、docker或。。。,所以我的docker容器可以通过我的(squid)代理访问internet,同一网络上的容器可以通过它们的主机名访问彼此?
长问题
以下场景:
我的docker-compose.yml代码:
version: '3'
services:
my-backend-service:
image: "backend-service:latest"
networks:
- back-tier
my-frontend-service:
image: "frontend-service:latest"
environment:
- backend.hostname: my-backend-service
networks:
- back-tier
networks:
back-tier:
当服务不需要访问internet(例如API)时,此设置就可以了,因为前端服务可以通过主机名访问后端服务
但是后端服务需要访问internet上的公共API,因此它必须使用代理。
为了解决这个问题,我在我的主机linux上创建了以下文件。docker/config。json:
{
"proxies":
{
"default":
{
"httpProxy": "http://MY_HOSTNAME:3128",
"httpsProxy": "http://MY_HOSTNAME:3128"
}
}
}
旁注:我必须使用主机名(my_hostname),因为localhost或127.0.0.1不起作用。docker容器在端口3128的localhost上找不到任何正在运行的内容。
好的,现在我的后端服务可以访问Internet中的API。但是我的前端服务不能再通过其主机名“my-backend-service”访问后端服务!
当我开始卷曲http://my-backend-service:8080在我的前端服务中,我会从squid那里得到一个答案,说它无法从主机名确定IP地址。。。
问题:有人知道我该如何配置squid、docker或。。。,所以我的docker容器可以通过我的(squid)代理访问internet,同一网络上的容器可以通过它们的主机名访问彼此?
当服务不需要访问internet(例如API)时,此设置就可以了,因为前端服务可以通过主机名访问后端服务。但是后端服务需要访问internet上的公共API,因此必须使用代理。
这应该很容易做到。您声称后端服务需要访问internet。因此,在该容器中设置代理配置。前端应该只访问后端,所以确保这个没有代理配置。
您的问题是,您在主机系统上配置了变量,而它似乎在两个容器中都处于活动状态。如果要继续执行一个全局设置,也可以将代理设置保留在主机上,但需要为本地服务配置例外。使用http_proxy、https_proxy和no_proxy变量执行此操作,如中所述https://www.xmodulo.com/how-to-configure-http-proxy-exceptions.html.
问题内容: 我有一台安装了docker host的Linux服务器,内存为16GB。我想在其上部署Windows Server容器。可能吗?有人尝试过此解决方案吗? 问题答案: 更新2019 如pipe_tape_coder在评论中指出的: Microsoft 改进了容器的网络选项,现在 允许每个容器中具有改进名称空间的多个容器 。 理论上(2015年10月的原始答案): Linux主机上没有运行
本文向大家介绍Docker主机网络与网桥网络,包括了Docker主机网络与网桥网络的使用技巧和注意事项,需要的朋友参考一下 可用于Docker网络的单主机网络有两种类型:“主机”和“桥”网络。单主机网络意味着它们的影响对于每个单独的主机都是局部的。 在主机网络的情况下,特定的Docker容器可以直接使用主机的网络来发送和接收数据包。对于网桥网络,它需要端口映射才能进行通信。 为了更好地理解它们,让
TL;DR:我可以配置一个容器来访问本机VGA,覆盖主机视频输出吗? 我正在考虑处理我的低功耗XenServer(以前是ESXi)白箱来设置一个docker最小安装(例如CoreOS、RancherOs或类似的发行版)。是否可以给一个(可能不是特权)容器对视频输出的独占访问/通过,安装一个可以与所有其他容器一起运行的媒体中心解决方案(例如Kodi),将全屏视频输出到电视,“显然”带有硬件加速视频解
我正在运行一个Jenkinsdocker映像,我正在构建自己的映像,并希望添加对它的docker buildx支持,以便生成多平台映像,我不知道它应该如何工作。 当我检查受支持的平台时,我得到: 因为我在AMD64映像中。我读到我需要为此安装qemu,但我不知道Buildx如何识别它。 关于这一点,相关文档相对较少:https://docs.docker.com/buildx/working-wi
我想使用Docker,以便能够运行一个需要PHP5.3的旧应用程序,同时在我的主机服务器上还有我的其他网站,在主机Apache上运行。 所以我有一个网站。com,siteB。com,siteC。com运行在主机上,使用主机Apache/PHP/MySQL服务器,我有siteZ。com,安装在Docker容器中,该容器应使用容器的Apache/PHP,而不是主机MySQL服务器。 这是我想获得的架构
我用这个参数挂载了容器: -v /home/test/:/home/test 在主机的/home/test内部有一个指向/mnt/文件夹的符号链接。 但是,尽管可以看到链接指向何处,但在容器内部似乎断开了: 这甚至可以在docker中实现吗?我不确定是否有办法做到这一点。 我知道我可以直接挂载符号链接指向的位置,但我只是想知道这是否可能。