我有一个AWS Linux主机运行一个centos 7 docker容器,其中运行5.5.25和php-fpm。 PHP通过端口9000暴露在Docker容器之外,并向nginx服务器提供请求。 这个设置一直工作正常,但是当我最近打开php-fpm slowlog来尝试和debugging一些慢代码,我无法让PHPlogin缓慢的脚本。 我在/etc/php-fpm.d/www.conf中设置了以下内容: request_slowlog_timeout = 5s slowlog = /var/www/log/php-fpm-slow.log 和/var/www/log/php-fpm-slow.log由拥有777权限的www用户拥有。 每当一个缓慢的脚本运行时,以下是logging到php错误日志。 [07-Jul-2015 07:33:34] ERROR: failed to ptrace(ATTACH) child 18: Operation not permitted (1) [07-Jul-2015 07:33:34] WARNING: [pool www] child 18, script '/var/www/src/index.php' (request: "GET /index.php") executing too slow (5.700050 sec), logging 我从中得出,5秒的request_slowlog_timeout实际上正在触发,但由于某种原因,日志不能被生成。 我已经看到类似但不完全相同的问题,build议修改/etc/sysctl.d/10-ptrace.conf或/ proc / sys / kernel / yama […]
大多数情况下,使用这两个中的一个,我可以知道哪个操作系统在我的Docker容器(高山,centOS等)中运行, 但这一次,我不能说: bash-4.2$ uname -a Linux 6fe5c6d1451c 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux bash-4.2$ more /etc/issue \S Kernel \r on an \m 任何方式来获得它正在运行的操作系统的文本版本?
在安装Docker之后,当我尝试运行Hello World示例时出现错误: Error response from daemon: Cannot start container 4145d0fccd96b904e4ab4413735f1129b8765429bad5be71dc8d5f4c0760666d: failed to create endpoint high_saha on network bridge: failed to add the host (veth7f6f907) <=> sandbox (veth788d9dc) pair interfaces: operation not supported (我刚把我的Debian服务器从Wheezy升级到Jessie) 有没有人有一个想法,为什么我得到这个错误? 升级过程中我错过了什么吗? 谢谢你的帮助。
有时,我的专用服务器的所有networking都冻结(ssh也不能正常工作)。 它是随机重复的。 操作系统:Ubuntu 14.04.3 LTS 在服务器安装的docker集装箱,我看到在dmesg日志 : [1568390.415464] IPv6: ADDRCONF(NETDEV_UP): veth70c3620: link is not ready [1568390.415571] docker0: port 2(vethfd09262) entered forwarding state [1568390.415575] docker0: port 2(vethfd09262) entered forwarding state [1568390.415586] IPv6: ADDRCONF(NETDEV_CHANGE): veth70c3620: link becomes ready [1568390.453889] eth0: renamed from veth70c3620 [1568405.455565] docker0: port 2(vethfd09262) entered forwarding state [1568490.807194] aufs au_opts_verify:1612:docker[22618]: dirperm1 breaks the protection […]
我有一个应用程序,只能在X11环境中完全GPU访问/硬件OpenGL运行。 我可以在Hetzner服务器上运行它,因为它们的机器具有体面的GPU。 Ubuntu桌面被安装,它有x11vnc运行。 我正在考虑把所有的桌面东西放在docker容器内,并在主机上安装Ubuntu的服务器。 有没有办法让Docker容器完全访问GPU? 谢谢! Leonti
我在机架空间有一个小型集群,其中一个专用networking的范围是192.168.3.0/24。 我想我的工人服务使用这个networking互相交谈,但不能弄清楚如何让docker允许。 我的理想configuration是一个单独的面向公众的容器,代理与工作人员的连接,然后可以与私人networking中的各种服务交谈来完成工作。 eth0 -> load balancer –> 192.168.3.3:80 –> 192.168.3.5:1234 (db) \-> 192.168.3.4:80 / \> 192.168.3.5:80/ 如果所有的工人都在同一台机器上,我可以通过docker run –link …来完成这个docker run –link …但是由于他们在不同的机器上,这是行不通的。 上例中的工作人员使用类似这样的命令启动: docker run -d -p $PRIVATE_IPV4:80:80 myworker 和数据库开始像这样: docker run -d -p $PRIVATE_IPV4:1234:1234 mydb 从主机我可以谈到每个容器,但每个容器不能路由到任何其他容器。 IE curl http://192.168.3.4可以从主机上运行,但不能从运行在主机上的容器运行。 在这种情况下,负载均衡器是nginx开始像这样: docker run -d -p $PUBLIC_IPV4:80:80 nginx nginx.conf upstream app { server 192.168.3.3:80; […]
我build立了一个Linux服务器(现在是VirtualBox VM) 在该服务器中,我运行一个包含两件事的Docker container : 某个端口上带有Web界面的应用程序 打开VPN客户端 我可以访问该应用程序(从我的主机,因为Linux是VM guest),一切正常,直到我连接VPN。 VPN的作品 – stream量通过它,但我无法连接到我的应用程序(ERR_CONNECTION_TIMED_OUT)。 所以我的目标是: 在Docker容器中有一台服务器,所有stream量都通过VPN 能够访问我的本地networking中的服务器/容器(就像我现在在VPN没有连接时那样) 我怎样才能做到这一点? 这是我的.ovpn文件的样子 client auth-user-pass ping 5 dev tun resolv-retry infinite nobind persist-key persist-tun ns-cert-type server verb 3 route-metric 1 proto udp ping-exit 30 cipher AES-256-CBC // cetrificate here remote <remote-host-ip>
我有一个服务器在以下configuration中运行多个docker容器: 其中一个容器是绑定到其他容器的暴露端口的反向代理。 这是在http端口80上唯一接受来自外部世界的连接的容器 所有其他容器都是运行tty shell的开发环境。 这些端口暴露在主机上,但由于主机上的EC2安全组configuration,这些端口不会暴露在外部。 所以与他们沟通的唯一方法是通过反向代理。 反向代理通过其暴露的端口与他们进行通信。 NB我不能在这里使用容器链接,因为我不想用每个新的开发容器重新启动反向代理容器。 | DEV Env Docker | / OUTSIDE WORLD <—–|——> REVERSE PROXY DOCKER – DEV Env Docker | \ | DEV Env Docker 这个想法是,用户可以通过反向代理访问开发容器,并在该容器内运行命令。 我想阻止用户运行命令连接到外部世界白名单,他们可以连接到域。 我已经安装了squid3,并通过在configuration文件中添加以下几行来设置一个白名单: acl whitelist dstdomain "/etc/squid3/whitelist.txt" http_access allow whitelist 我还设法使用以下iptables命令将stream量从docker容器redirect到squid iptables -t nat -A PREROUTING -i docker0 -p tcp -d 0/0 -j REDIRECT […]
在我的Ubuntu 15.04 x64 Docker(1.9.1-cs2,build 4ade326)主机上,我的内存使用率过高,目前达到了940 MB的物理内存和〜1 GB的交换内存。 据了解,Docker负责耗费大约780 MB的交换内存。 我怎么知道为什么Docker使用这么多交换? 我主要运行一个Node.js的Docker容器,这似乎并没有消耗太多的内存。 内存使用量也在几个小时内上升,因为启动之后,内存使用量并不高。
由于我将计算机上的Docker升级到beta27,因此我无法使用默认networking运行Windows容器。 我收到以下消息: docker: Error response from daemon: container xxx encountered an error during Start failed in Win32: The system cannot find the path specified. (0x3): Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type. 我卸载/删除了所有的东西(Docker for Windows,Hyper-V,Containersfunction以及C:\ ProgramData \ Docker中剩下的文件),然后重新安装了所有内容,但问题依然存在。 […]