Articles of 泊坞窗

Postgres在docker集装箱不工作 – 不断重新启动

我最近搬了我的postgres数据从一个硬盘驱动器复制到另一个。 我的docker运行命令是 docker run –name postgres –restart=always -e POSTGRES_USER= -e POSTGRES_PASSWORD= -e POSTGRES_DB=elevate_recruit -v /media/postgres:/var/lib/postgresql/data -d -p 543 2:5432 postgres:9.5 媒体驱动器是包含postgres备份的驱动器。 当我运行ls -l media/postgres我得到了 drwxrw-rw- 6 sbt springcoil 4096 Jun 20 10:25 base drwxrw-rw- 19 sbt springcoil 4096 Jun 21 13:27 data -rw-rw-rw- 1 sbt springcoil 4 Apr 27 13:38 PG_VERSION 当我运行docker集装箱和docker logs container_id我得到 postgres […]

Portainer的Apache ReverseProxy设置

我目前有一对docker容器在一个节点上运行,其中两个是Apache Web服务器,我configuration了一个反向代理和Portainer,允许我通过GUIpipe理我的容器。 我已经尝试跟随这个线程: https : //github.com/portainer/portainer/issues/488,但已经无法将stream量从Apache转发到Portainer。 这是我的httpd.conf文件: <Location /portainer/> AuthBasicProvider ldap AuthLDAPURL someldap AuthType Basic AuthName SomeAuthName require valid-user </Location> ProxyPass /portainer/api/websocket/ ws://172.18.0.8:9000/api/websocket/ </VirtualHost> 有任何想法吗? 谢谢!

谁在杀死我的docker集装箱?

Mesos→完成的任务我沙盒在标准输出文件中,我可以看到killTask​​信号: Received killTask for task sources.b4e2c8e6-5b42-11e7-aec0-024227901b13 标准输出文件的完整捕捉如下。 即使在收到killTask信号后,我的进程仍在运行。 即我的过程不会自行终止。 2017-06-27 14:16:08,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient – 发送的appmonitor消息1,到目前为止发送的字节数为188 2017-06-27 14:16:18,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient – 发送的appmonitor消息1,到目前为止发送的字节数为188 2017-06-27 14:16:28,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient – 发送的appmonitor消息1,到目前为止发送的字节数为188 2017-06-27 14:16:38,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient – 发送的appmonitor消息1,到目前为止发送的字节数为188 2017-06-27 14:16:48,337 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient – 发送的appmonitor消息1,到目前为止发送的字节数为188 2017-06-27 14:16:58,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient – appmonitor发送的消息1,到目前为止发送的字节数为188 2017-06-27 14:17:08,333 INFO [Timer-0] […]

使用定制的Docker容器在Azure上的NameLookup问题

我在使用定制Docker容器和Linux上的Web App的Azure上进行名称parsing时遇到了问题。 在Azure中使用默认的resolv.conf文件时,使用curl和wget进行名称parsing需要4-10秒。 search reddog.microsoft.com nameserver 127.0.0.11 options timeout:1 attempts:5 ndots:0 当我将名称服务器更改为8.8.8.8时,所有工作正常。 如果我理解正确, Docker挂载主机的resolv.conf文件,并且应该使用Docker运行命令选项设置DNS设置。 不build议直接更改这些文件。 Docker如何pipe理容器内的DNSconfiguration的确切细节可以从一个Docker版本更改为下一个。 所以你不应该假定/ etc / hosts,/etc/resolv.conf这样的文件在容器中被pipe理,并且保持文件不变,而是使用下面的Docker选项。 但是,在Azure中设置泊坞窗运行参数似乎不可能。 这是我以前在SO这个主题上的post 。

如何以及在哪里configuration使用Docker的php-fpm的pm.max_children?

在一个使用Nginx和PHP-FPM的Web应用程序中,我注意到了缓慢的时刻和分析日志,我发现这个消息不时出现: [19-Nov-2017 19:24:09] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it 经过一番研究之后,我增加了php.iniconfiguration文件中的值, 停止并移除了php容器并重build它 ,因为设置为卷上的文件的设置已经生效。 分析容器中的configuration文件,它与我设置的新值相关,但是关于pm.max_children(5)的错误消息继续出现。 Here is my docker-compose.yml version: '2' services: pi_web: build: ./nginx ports: – "80:80" – "443:443" volumes: – ../src:/src – ./nginx/conf.d:/etc/nginx/conf.d – ./nginx/nginx.conf:/etc/nginx/nginx.conf – /etc/letsencrypt:/etc/letsencrypt pi_php: build: ./php volumes: – ../src:/src – ./php/config/php.ini:/usr/local/etc/php/php.ini 这是./php/config/php.ini的一个片段: pm = dynamic pm.max_children […]

如何通知HAProxy我的服务器正在备份?

我有点HAProxy新手 – 我有3个docker集装箱,一个运行HAProxy与以下configuration: global log 127.0.0.1 local0 log 127.0.0.1 local1 notice chroot /var/lib/haproxy user haproxy group haproxy stats socket /var/run/haproxy.sock mode 600 level admin # daemon defaults log global mode http option httplog option dontlognull timeout connect 5000ms timeout client 50000ms timeout server 50000ms balance source listen stats :80 stats enable stats uri /haproxy?stats stats […]

透明代理一个docker集装箱到另一个docker集装箱

我有一对在主机上运行的docker容器,这些容器一起使我的应用程序完成。 因此,对于我的应用程序的每个迭代/实例,都需要一对Docker容器才能运行。 到目前为止,我正在使用–link参数,同时运行第二个容器来链接第一个容器,并从主机文件获取第一个容器的IP以编程方式使用它。 现在,我需要为第二个Docker容器设置透明代理。 因此第二个容器的所有http(端口80)stream量都应该经过第一个容器的端口8080。 第一个容器IP: 172.17.0.4 (代理服务在端口8080上运行)。 第二个容器IP: 172.17.0.6 (有浏览器之类的客户端工具)。 我想将172.17.0.6的所有httpstream量(端口80 )转发到172.17.0.4的8080端口。 即)到172.17.0.4 <—> 8080的172.17.0.6的80 我已经尝试添加上述configuration的第二个容器内的iptables规则。 但他们都没有工作。 ~# sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 172.17.0.4:8080 不起作用。 ~# sudo iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination 172.17.0.4:8080 不起作用。 ~# sudo iptables […]

如何通过端口映射来pipe理Docker容器?

我安装了ELK Docker容器 。 我用这些参数运行它: sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -p 5000:5000 -it –name elk sebp/elk 检查检查: sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4f42137c954d sebp/elk:latest "/usr/local/bin/star 22 hours ago Up 22 hours 0.0.0.0:5000->5000/tcp, 0.0.0.0:5044->5044/tcp, 0.0.0.0:5601->5601/tcp, 0.0.0.0:9200->9200/tcp, 9300/tcp elk 乔,看起来不错。 以下是Docker容器驻留的KVM guest虚拟机的外部接口: marius @ elk:〜$ ifconfig eth0 eth0 […]

PHP不会在命令行上运行

当试图运行PHP官方docker容器(php:5.6-apache)中的composer php安装脚本命令行似乎只是挂起等待input 我试图运行的命令是以下 curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/local/bin –filename=composer 如果composer被手动安装在/ usr / bin目录下并运行使用 composer 同样的事情发生。 PHP似乎挂起等待input,虽然你可以ctrl-c并随时逃到terminal。 我已经尝试安装 apt-get install -y php5-cli 但是这并没有帮助。 有任何想法吗?

使用docker的iptables端口redirect

我有一台运行Jenkins的Linux服务器(端口8080上的HTTP),同一台服务器也运行Docker 1.12.1。 我使用了一些iptables规则(按照官方的Jenkins安装文档)将8080端口redirect到主机端口80,这样默认的HTTP可以用于Jenkins(即http://myserver而不是http://myserver:8080 ): iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080 iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 –dport 80 -j REDIRECT –to-ports 8080 然而,这些规则破坏了Docker在docker build命令期间通过HTTP下载正确资源的能力。 例如, RUN apt-get update失败,出现多个“未能下载”的错误。 在容器中执行wget http://www.google.com返回Jenkins主页面的HTML。 来自主机的HTTP GET正常工作。 删除iptables规则导致RUN apt-get update再次工作。 所以我认为这些iptables规则正在干扰docker的networking机制。 这样的端口redirect可以与Docker共存吗? 如果是这样的话,那么如何写一个iptables规则来解决这个问题呢?