Tag:

使用普罗米修斯的容器度量

我在我的集​​群以及cAdvisor和Grafana上部署了Prometheus。 它运作非常好。 我在Grafana的用户界面上获得了所有需要的数据。 我开始使用Prometheus Java API来使用这些数据。 例如,获取CPU使用情况,如果它有一定的价值将做一些事情。 Grafana上显示的是每个容器的容器CPU使用情况。 现在我想尽可能用Java API来获取这些信息(或者如果没有的话)。 但是,当然,PromQL查询不能从Java程序中使用(从我的尝试,但我可能是错的)。 我想到了几种方法: 克隆cAdvisor项目,直接执行我想在Go中执行的操作 使用docker stat命令创build一个bash脚本,它将使我得到与容器和CPU使用率相关的信息 或者也许实际上有一种方法来发送PromQL查询。 例如,我们通过Java或Prometheus接口获取其名称: 例如: node_cpu会给我一些数据。 但是如果我想要更精确的东西,我需要发送一个请求,例如通过Java无法实现的irate(node_cpu{job="prometheus"}[5m]) 。 有没有办法让我得到更精确的指标?

如何将一个实例从一个子网运行到另一个运行了Docker容器的实例?

我已经尝试通过创build一个AMI,然后尝试启动私人子网中的实例,但我没有看到第二个实例内的任何容器。

AWS ECS上的Symfony应用程序仅具有数据容器 – 这是正确的方向吗?

我有一个docker化的Symfony2应用程序,由四个容器组成: PHP-FPM nginx的 MySQL的 代码(具有卷的数据容器) 在我的本地机器上,这个安装程序在docker-compose没有问题的情况下运行: code: image: ebc9f7b635b3 nginx: build: docker/nginx ports: – "80:80" links: – php volumes_from: – code php: build: docker/php volumes_from: – code links: – mysql mysql: image: mysql ports: – "5000:3306" command: mysqld –sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" environment: – MYSQL_ROOT_PASSWORD=xyz – MYSQL_DATABASE=xyz – MYSQL_USER=xyz – MYSQL_PASSWORD=xyz 我想在AWS ECS上部署我的应用程序,因此我预build了所有图像并将它们推送到AWS容器registry,使用新服务创build了一个新的群集,并将我的本地docker-compose.yml翻译成TaskDefinition。 由于昨天我试图让它运行,但遵循官方Dokumentation http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html和search几个小时,我找不到一个方法来得到它加工。 要么这个服务在一个PENDING状态下被删除而没有启动一个容器(mysql容器除外),或者如果我将一个卷附加到任务定义上,那么这个容器就会出现,但是数据没有被映射。 是否必须在“任务定义”的volumesFrom部分中以特殊语法引用仅数据容器? 除了使用EFS外,现在是否有解决scheme? […]

从卷更改目录的chmod

我正在尝试在容器中运行CakePHP 2应用程序。 我有一切设置和PHP正常工作,但有一个问题:/ var / www / app / tmp具有不正确的写入权限。 这个目录是从卷加载的

Docker将容器强制到特定的物理接口

过去一周左右,我一直在网上寻找解决办法,但到目前为止我已经空手而归了。 有三个networking接口可用于我的主机,我需要在wlan1接口上执行一个phantomjs脚本。 我的想法是利用Docker,但遇到问题locking一个容器到一个特定的接口。 以下是我所尝试的,全部或者redirect到另一个界面,或者没有networking访问。 唯一允许显式访问我需要的接口的方法是closures所有其他接口。 /etc/systemd/system/docker.service.d/docker.conf [Service] ExecStart= ExecStart=/usr/bin/docker daemon -b=wlan1 –ip=10.0.0.151 -H fd:// docker-compose.yml version: "2" networks: open_network_1: driver: bridge driver_opts: com.docker.network.host_binding_ipv4: "10.0.0.151" services: open_wifi_phantomjs: image: https://github.com/ollihoo/phantomjs-docker-rpi networks: – open_network_1 ports: – 10.0.0.151:80:80 – 10.0.0.151:443:443 我也摆弄着ip routing和iptables ip route del 172.19.0.0/16 ip route add 172.19.0.0/16 dev wlan1 proto kernel scope link src 172.19.0.1 iptables […]

在Windows 10上托pipe的Windows容器将丢失其DNS

我正面临这种情况,我的基于Windows的容器失去了解决DNS的能力。 这是发生了什么事 启动一个容器来testingdnsparsingdocker run -it microsoft/windowsservercore powershell 从容器内部 Test-NetConnection google.com -Port 443 失败 PS C:> Test-NetConnection google.com -Port 443警告:google.com的名称parsing失败 – 状态:这通常是主机名parsing过程中的临时错误,并且意味着本地服务器没有收到来自授权服务器的响应计算机名称:google.com RemoteAddress:InterfaceAlias:SourceAddress:PingSucceeded:False 但应该是这样的 PS C:\ Users \ asarafian> Test-NetConnection google.com -Port 443计算机名称:google.com RemoteAddress:216.58.204.14 RemotePort:443 InterfaceAlias:vEthernet(外部虚拟交换机)SourceAddress:10.98.5.139 TcpTestSucceeded:True 我经常保持工作站(Windows 10),并在其上运行Hyper-V实例和Docker。 工作站是Windows 10,从我可以告诉什么时候发生的问题是,它使用Windows 10主机的IP作为DNS。 从容器内 PS C:\> ipconfig /all Windows IP Configuration Host Name . . . . […]

多个docker组成容器 – 单个IP

我有这个应用程序。 我如何分配一个IP地址到Web服务并使用数据库? version: "2" services: web: image: kartoffeltoby/typo3:latest hostname: localhost container_name: web ports: – 80:80 link: – db:database volumes: – ./www/:/var/www/ environment: – DOCROOT=/var/www/web – PAGESPEED=Off db: image: mysql:5.6 hostname: database volumes: – ./DB/:/var/lib/mysql/ – ./db/:/var/tmp/db environment: – MYSQL_ROOT_PASSWORD=passwort

Docker代理窗口守护进程命名pipe道到Ubuntu容器

环境: 操作系统 :Windows 10 Pro [ 使用Hyper-V ] Docker版本 :17.03.1-ce networking部署机制 : docker-compose 问题: 我一直在试图从我的Ubuntu Container访问docker守护进程,这使得像这样的查询:[ 哪些不起作用 ] curl http://<IP>:2375/containers/<another_node>/stats?stream=0 它适用于Windows Host ,当我这样做时使用PowerShell: irm "http://localhost:2375/…" 但是,如果我更改localhost到其他任何东西像我的私人IP地址。 没有任何工作 ( 这很好 )。 但是,我想将所有可以在Windows Host上访问的数据转发到Ubuntu Container 。 这是棘手的地方。 一个简单的端口转发像: … ports: – 2375:2375 不行! 我知道在Linux/Mac Host -> Linux Container ,你可以挂载/var/run/docker.sock文件。 唯一的窗口替代方法是named pipe 。 但是无处可以find一种方法,可以将pipe道安装到Linux Container 。 只有我提出的解决方法: 我写了一个Node.js服务器,作为一个HTTP代理。 […]

如何知道docker 1.10+本地是否存在图层

我想检测一个图层是否存在于本地docker engine版本是> = 1.10? 有没有解决办法呢? 我不想直接查找docker引擎根目录。 我可以提供图层DiffID , BlobSum或ChainID 。

Docker云:编织无法joinnetworking

我们使用非群模式为我们的3台机器集群,在容器之间build立了一堆链接,并注意到一个非常奇怪的问题:2台特定机器之间的容器无法通信:机器A上的容器可以与机器B通信,但无法达到机器C的那些。然而,机器B和机器C的容器完全能够相互连接。 看完日志后,我们注意到机器A /机器C上的编织容器(连接问题的机器)无法到达对方机器。 日志充满了这样的消息: INFO: 2017/04/11 08:33:35.169670 ->[XXX.XXX.XXX.XXX:6783] attempting connection INFO: 2017/04/11 08:33:35.187072 ->[XXX.XXX.XXX.XXX:6783] connection shutting down due to error during handshake: Unable to decrypt TCP msg INFO: 2017/04/11 08:42:39.024325 ->[XXX.XXX.XXX.XXX:49040] connection accepted INFO: 2017/04/11 08:42:39.035681 ->[XXX.XXX.XXX.XXX:49040] connection shutting down due to error during handshake: Unable to decrypt TCP msg 更奇怪的是,没有设置防火墙规则,机器是完全可达的,我甚至可以telnet到另一个编织守护进程(使用端口6783),并得到“编织”string作为回应。 我们尝试重新启动,重新部署集群, 甚至没有运气回收机器:一些错误或问题,防止编织这些特定的机器进行沟通。 如果您有任何帮助或暗示,我们将非常感谢您,SO用户。 以防万一。 […]