Articles of 泊坞窗

Nagios插件不能从服务器,但本地工作

我已经写了一个小的bash脚本来检查docker服务是否正常运行,当我在客户端上进行testing的时候是非常好的,但是不知道从nagios服务器上运行check_nrpe来执行我的脚本,它总是显示脚本的一部分。 我的nrpe.cfg也是正确的。 这是脚本: #!/bin/bash CONTAINER=ubuntu_container RUNNING=$(docker inspect –format="{{ .State.Running }}" $CONTAINER 2> /dev/null) if [ "$RUNNING" == "true" ]; then echo "OK – $CONTAINER is running." exit 0 else echo "CRITICAL – $CONTAINER is not running." exit 2 fi 从nagios服务器输出: root@nag_server nagios]# /usr/lib64/nagios/plugins/check_nrpe -t 30 -H docker-host.intenallab -c docker_container CRITICAL – ubuntu_container is not running. […]

HAProxy 1.7不parsingdocker1.13.1容器

docker ps -a : de09facf7c91 x/x:x "/usr/bin/supervisord" 51 minutes ago Up 24 minutes 8080/tcp development-karl 226a1b80a233 x/x:x "/usr/bin/supervisord" 2 hours ago Up About a minute 0.0.0.0:80-84->80-84/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:1988->1988/tcp, 5672/tcp haproxy 用这个启动容器: docker run –name development-karl -h development-karl -dx/x:x 我haproxy.cfg一部分: backend karl_dev_backend balance roundrobin option forwardfor server karl_dev development-karl cookie development-karl weight 1 maxconn 1024 check […]

docker-machine Virtualbox容器在docker ps中不显示

在Docker版本1.8.2的最新Ubuntu 15.04机器上,编译0a8c2e3。 如果我按照这里的指示运行标准docker机testing: $ docker-machine create –driver virtualbox dev Creating VirtualBox VM… Creating SSH key… Starting VirtualBox VM… Starting VM… To see how to connect Docker to this machine, run: docker-machine env dev $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM dev virtualbox Running tcp://192.168.99.101:2376 所以它正在运行,我可以在Virtualbox中看到它具有正确的用户和networking接口。 因此,我下一步要“告诉Docker与该机器交谈”。 $ eval "$(docker-machine env dev)" 但是,当我试图做一个“dockerPS”,容器不显示: $ […]

Docker中运行的C#应用​​程序(单声道)会产生巨大的CPU峰值

我已经看了很长一段时间了。 我们运行一个有多个Docker容器的服务器,其中一个有一个用c#编写的Mono服务器应用程序。 基本图像是phusion base( http://phusion.github.io/baseimage-docker/ ) 到目前为止,这个工作进展顺利,今天晚上,我们突然开始看到巨大的CPU峰值,放慢了我们整个网站,甚至使它完全无法访问。 自一周左右以来,我一直没有任何改变。 我非常怀疑这个问题是由于源代码错误。 同样的应用程序(如在完全相同的可执行文件)可以在Docker或Mac上的同一服务器上正常工作。 我已经尝试过的事情: 在我的本地计算机上运行应用程序(工作,没有CPU峰值) 在Docker外运行应用程序(但在同一台服务器上)(没有CPU峰值) 重build没有caching的图像(没有工作) 查看我们的进程树的屏幕截图: 如果任何人都可以帮助我们,这将是太棒了! 我更愿意提供更多的细节;)提前感谢!

在Windows部署自动化中了解Puppet的用例

我必须在Windows环境中自动执行一些任务。 正在使用的技术是MS SQL Server 2008,IIS,MSMQ等。运行应用程序的所有依赖项都安装在一台机器上。 但是,在生产环境中,依赖关系是在不同的实例上设置的。 截至目前,在任何实例上安装依赖关系(SQL Server,IIS等)都是手动的。 我打算做的第一件事就是创build一个包含所有相关组件(软件)的基本映像。 我认为Puppet和Powershell和Jenkins一起会帮助我。 我对Puppet和Powershell都是新手。 我的目标是: 1)在主机上自动安装软件。 2)在所有(或大部分)环境(开发,集成,分期,UAT,生产)上使用此映像 上述步骤应该是自动化的。 现在我的困惑是,如果我使用Powershell说,安装SQL服务器(和其他软件),那么木偶进入图片? 我可以从Jenkins调用这个Powershell脚本,通过在环境中使用自定义configuration文件来部署在不同的环境中。 我在这里不是很了解木偶的真实用例吗? 我应该实际上使用任何其他工具,如docker等? 请指导我

在Windows中编辑时用于Linux的文件权限

我想要的是使用Docker的工具(Kinematik,Machine,Compose)将我的开发从Linux迁移到Windows。 当然,我仍然在开发应用程序在Linux上运行的Web应用程序。 容易的部分是安装工具和克隆回购。 这种方式与源代码的回购是在Windows的主机文件系统,但通过容器在Linux中运行。 困难的部分是当我编辑文件,保存并通过git提交,文件的权限是0777,它不尊重现有(编辑之前)的权限。 如何分类?

将docker容器端口绑定到特定的外部服务器地址

这是我第一次解决这个networking“问题”来解决docker工,我需要一些input。 这是我的情况: 运行NginX的Ubuntu 14.04,作为防火墙和Docker容器运行PHP后端应用程序。 对于INPUT和OUTPUT以及FORWARD,Ufw默认策略设置为DROP。 sysctl规则: net.ipv4.conf.all.forwarding = 0 我的需要: 一个运行在守护进程模式下的容器,其端口8888 / tcp接受来自外部的连接,但仅来自ip 8.8.8.8,并且端口4444 / tcp从localhost 我的问题: Ufw被设置为仅接受来自IP 8.8.8.8的端口8888 / tcp上的传入连接。 因此,基本上: sudo ufw allow in from 8.8.8.8 to any port 8888 proto tcp 然后,我运行容器: docker run -p 8888:8888/tcp -p 127.0.0.1:4444:4444/tcp [other options ] 之后,从没有ip = 8.8.8.8的机器上运行nmap -p 8888 45.45.45.45 ,我希望得到port filtered 。 但…. Host […]

docker工人 – 这个网站无法到达

我安装了一个tomcat映像并运行一个容器: [root@MY_IP ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e624bb55878f tomcat:7 "catalina.sh run" 43 minutes ago Up 43 minutes 0.0.0.0:32768->8080/tcp pensive_leakey 日志告诉我,tomcat服务器正在运行,但是当我通过浏览器检查时,它告诉我: This site can't be reached : MY_IP:32768 MY_IP refused to connect. ERR_CONNECTION_REFUSED 所以MY_IP:32768不起作用。 我认为这是一个防火墙的问题,所以我检查了我的iptables,并添加了ligne: [root@MY_IP ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT […]

使用IPTables将一个端口上的本地请求转发到另一个端口上的远程服务器

我有一个Docker容器中的应用程序。 我有另一个Docker容器中的数据库。 数据库容器有一个暴露的端口49155.应用程序要求数据库暴露在3306端口,我不能改变,由于IonCube混淆。 所以,我可以将我的应用程序指向数据库容器,但应用程序无法find数据库(错误的端口)。 我最初的解决scheme是我们IPTables转发本地请求端口3306到远程容器端口49155使用: iptables -t nat -A PREROUTING -p tcp –src 127.0.0.1 –dport 3306 -j REDIRECT –destination 192.168.200.212 –to-ports 49155 还是行不通。 有什么想法吗? 编辑 从应用服务器尝试: iptables -t nat -I OUTPUT -p tcp –dst 192.168.200.212 –dport 3306 -j REDIRECT –to-ports 49155 和 iptables -t nat -A PREROUTING -p tcp –dport 3306 -j DNAT –to-destination 192.168.200.212:49155 […]

在nginx反向代理背后的WordPress不工作在https

我试图在基于Docker的云上运行wordpress。 设置是: 有一台运行mysql数组的服务器,它使用运行在Nginx上的Wordpress提供容器。 该设置是从这个dockerfile复制的。 此设置的目标是实现高吞吐量并与我们的云安装兼容。 wordpress容器有一个本地ip,与mysql数组和Nginx反向代理位于同一个子网,并有一个运行http(不是https)的公共端口。 反向代理被configuration为为wordpress容器运行SSL。 导航对http和https都起作用,但是当我尝试使用HTTPSlogin仪表板时,出现以下错误: 您没有足够的权限访问此页面。 我在HTTP上的仪表板上login时发现了唯一有意义的错误: [04-Nov-2014 23:16:13 UTC] PHP注意:未定义索引:/usr/share/nginx/www/wp-config.php中的HTTP_X_FORWARDED_PROTO行86 但仪表板在http上正常工作。 在Wordpressconfiguration文件中,我不得不添加下面这行: / * SSL代理* / if($ _SERVER ['HTTP_X_FORWARDED_PROTO'] =='https')$ _SERVER ['HTTPS'] ='on'; 我认为这是罪魁祸首。 我在官方的wordpress文档中发现了这个技巧,如果没有它,HTTPS不会加载CSS,无论是logging还是不logging。 我想也许我应该修改这一行以适应我的configuration? 无论是这个,还是nginx反向代理configuration文件 ,我都不知道。 wordpress + nginx容器中的nginxconfiguration文件是相当标准的,而且是从这里复制的。 请帮助我:D