Articles of Docker

nginx + Jetty – 数以千计的连接卡在LAST_ACK中

我有一个带有jails的FreeBSD机器 – 特别是两个运行nginx的机器,另一个运行一个Java程序,通过Jetty接受请求(embedded模式) Jetty不断收到500个请求/秒,最近有一个问题,我将在Nginx和Jetty之间的LAST_ACK状态中持续有超过60,000个连接。 所有连接的分配(包括一些其他服务,特别是php-fpm) root@host:/root # netstat -an > conns.txt root@host:/root # cat conns.txt | awk '{print $6}' | sort | uniq -c | sort -n 18 LISTEN 112 CLOSING 485 ESTABLISHED 650 FIN_WAIT_2 1425 FIN_WAIT_1 3301 TIME_WAIT 64215 LAST_ACK 分发nginx – >docker连接 root@host:/root # cat conns.txt | grep '10.10.1.57' | awk '{print $6}' […]

(35)连接到localhost的未知的SSL协议错误:8443

我已经按照一些说明: http : //docs.codehaus.org/display/JETTY/How+to+configure+SSL 我可以通过http (http://localhost:8080/ping)提供请求,但是我无法访问(https://locahost:8443) 。 我得到(35)未知的SSL协议错误连接到本地主机:8443 。 这不会显示在日志中,所以我无法弄清楚是什么问题… 任何帮助? 我正在运行Jetty 7.6,我的jetty.xml如下所示: <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <Set name="port"> <SystemProperty name="jetty.port" default="8080"/> </Set> <Set name="maxIdleTime">30000</Set> <Set name="Acceptors">2</Set> </New> </Arg> </Call> <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector"> <Arg> <New class="org.eclipse.jetty.http.ssl.SslContextFactory"> <Set name="keyStore"><SystemProperty name="jetty.home" default="." />/lib/keystore.ks</Set> <Set name="keyStorePassword">…</Set> <Set name="keyManagerPassword">…</Set> <Set name="trustStore"><SystemProperty name="jetty.home" default="." />/lib/keystore.ks</Set> <Set name="trustStorePassword">…</Set> […]

docker开发与Node.js和二进制node_modules

我正在为我的Node.js应用程序的开发环境的泊坞窗图像工作。 在运行docker映像时,会挂载一个卷,以便我的应用程序的源代码与主机的容器共享。 我遇到的问题是,不像大多数Node.js项目,我保持node_modules /版本控制(这里推荐http://www.futurealoof.com/posts/nodemodules-in-git.html )。 我需要注入node_modules /目录到容器中,使用ADD构build二进制模块,然后以某种方式让我的应用程序在docker容器的运行过程中使用它们。 # Docker official ubuntu 12.04 LTS FROM ubuntu:12.04 # See: https://launchpad.net/~chris-lea/+archive/node.js/ ENV NODEJS_VERSION 0.10.29-1chl1~precise1 # add updated node.js defacto official repository RUN apt-get update RUN apt-get install –yes python-software-properties RUN add-apt-repository ppa:chris-lea/node.js # install node.js RUN apt-get update RUN apt-get install –yes nodejs=${NODEJS_VERSION} # install other dependencies via […]

运行系统没有PrivateTmp,PrivateNetwork和PrivateDevices(在docker – 非特权模式)

我很高兴地在Docker容器中运行systemd,但是,它需要CAP_SYS_ADMIN才能dynamic创build私有的tmp装载。 我试图禁用PrivateTmp,PrivateNetwork和PrivateDevices – 但无济于事,当我启动容器,我看到: Failed to mount tmpfs at /run: Operation not permitted 然而,在/ usr或/ etc中没有任何地方有PrivateTmp = yes(和其他)的服务。 基于: https ://bugzilla.redhat.com/show_bug.cgi?id = 1033604#c14 – 我认为这些都会导致systemddynamic创build一个挂载 – 但必须有更多。 任何意见赞赏。

使用Docker和Vagrant搭配Node和Express

所以,在我开始之前,我是新手,因为当我给自己一个项目时我学得最好,所以我想用Vagrant和Docker来制作一个简单的Node和Express服务器,并在实际容器之外使用一个共享文件夹。 我跟着一个教程,解释类似的事情与Nginx和PHP(工作),所以请如果问题不是很好的结构或我的英语不完美让我知道! 正如我所说我想练习Docker(我最近开始使用它)并学习Vagrant。 这是我的Dockerfile: FROM ubuntu:latest RUN apt-get update RUN apt-get install -y software-properties-common RUN apt-get update RUN apt-get -y dist-upgrade RUN apt-get install -y nodejs npm RUN cd /home RUN npm install -g express RUN npm install -g express-generator RUN ln -s /usr/bin/nodejs /usr/bin/node RUN express projekt RUN cd projekt && npm install VOLUME […]

无法在Docker中设置容器的内存限制

我正在使用Ubuntu 14.04与最新的docker。 No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.1 LTS Release: 14.04 3.18.5-x86_64-linode52内核 但是,当我尝试设置内存 -m="512m" -c=512 然后我得到这个错误 WARNING: Your kernel does not support memory limit capabilities. Limitation discarded.

如何运行最新的docker和docker-compose开发版本?

我想弄清楚如何在Ubuntu 14.10上一起运行docker和docker组合的开发版本,以期望解决一个bug: https : //github.com/docker/compose/pull/1349 最新的Docker开发版本 docker -v # Docker version 1.7.0-dev, build 6a7a757 # docker-compose -v docker-compose version: 1.3.0rc3 CPython version: 2.7.8 OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014 但docker不喜欢服务器版本 # which docker /usr/bin/docker # sudo /usr/bin/docker -d & WARN[0000] Your kernel does not support swap memory limit. INFO[0000] Loading containers: start. ……………………………………………………………..INFO[0000] No […]

boot2docker,dockermount.vboxsf:automount安装失败,错误:没有这样的文件或目录

我正在尝试将不在用户文件夹中的OS文件夹(Windows 8)自动挂载到其init脚本的boot2docker中,但遇到上述错误。 手动运行时,安装工作正常: sudo mount -t vboxsf mydirectory /mapped/mydirectory 但是,当重新启动boot2docker它忘记,所以我试图让它自动挂载到已经在操作系统中创build的文件夹。 按照说明,我试图通过上面的命令在脚本中自动挂载, /var/lib/boot2docker/bootlocal.sh 它执行如boot2docker启动脚本所示: ————– ran /var/lib/boot2docker/bootlocal.sh Finished boot2docker init script. 在日志里面 /var/log/bootlocal.log 我看到以下错误: mount.vboxsf: mounting failed with the error: No such file or directory 正如我正在使用的文档所build议的那样: 我曾尝试添加到 sudo modprobe vboxsf 正如https://forums.virtualbox.org/viewtopic.php?t=5851所build议的,但无济于事 – 同样的错误发生。 更新:我想出了这个问题。 即使这些文件夹存在于文件系统上,无论出于何种原因,只有在login后才能访问,因此在文件夹中添加文件夹 /var/lib/boot2docker/bootlocal.sh 喜欢 echo "starting mounting" sudo modprobe vboxsf sudo mkdir /mapped […]

Docker上的OpenVPN

我只是在学Docker,但有些东西我不明白。 我正在尝试在Docker中安装OpenVPN,但对我无效。 如果我在一个Docker容器中安装一个Linux,它是一个全function的Linux? 因为我不能使用systemctl命令(CentOS)。 所以我不能在普通的服务器上安装OpenVPN。 我在网上find了一些教程,但是我需要自定义安装,所以我需要一个循序渐进的教程,我如何在容器中安装openVPN。 任何想法? 编辑:我用这个命令:docker run -privileged –name openvpntest -p 1194:1194 / udp -i -t centos 当我尝试systemctl:无法获得D-Bus连接:没有连接到服务pipe理器。

redirectnginx到另一个内部端口不工作

我有一个运行在端口80上的nginx实例和在端口4567上运行在同一台机器上的另一个应用程序(embedded jetty)。 我正在尝试将URL中包含/api/任何请求redirect到端口4567上运行的服务器。 为此,我在nginx.conf文件中的http上下文标签中添加了以下内容: server { listen 80; location /api { proxy_pass http://127.0.0.1:4567; } } 但是这不起作用。 每当我尝试请求任何包含/api/ *的URL时,我只需从nginx获得404 Not Found 。 我错过了什么? 谢谢。