Articles of Docker

Docker不会启动MONGODB,并且在启动其他服务时不会出现IPAddress

我一直在试图从Fedorabuild立一个操作系统映像,但是没有成功启动以下内容: Systemd SSHD 的RabbitMQ MongoDB的 我可以得到前3(Systemd,SSHD和RabbitMQ-Server)的工作。 我也可以让MongoDB在容器中工作。 但是,我无法让MongoDB与其他3个服务一起工作。 另外,当我尝试“dockerize”MongoDB时,IP地址不显示。 我在Dockerfile中丢失了什么? 这是我的dockerfile: FROM fedora:20 MAINTAINER “Ashfaque” <[email protected]> ENV container docker RUN yum -y update; yum clean all RUN yum -y install systemd; yum clean all; \ (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f […]

多核心机器上更高内核的Docker错误数量

我在RHEL 65机器上使用docker运行Centos Container。 我试图在16个内核上运行MPI应用程序(MILC)。 我的服务器有20个内核和128 GB的内存。 我的应用程序运行良好,直到15内核,但与“退出应用程序终止string:总线错误(信号7)”错误时,使用16核心及以上失败。 在16个核心,这些是我在日志中看到的消息。 7月16日11:29:17 localhost abrt [100668]:无法打开/ proc / 413 / status:没有这样的文件或目录 Jul 16 11:29:17 localhost abrt [100669]:无法打开/ proc / 414 / status:没有这样的文件或目录 7月16日11:29:17 localhost abrt [100670]:无法打开/ proc / 417 / status:没有这样的文件或目录 关于容器的一些细节 内核2.6.32-431.el6.x86_64 docker枢纽官方的centos 开始容器为 docker运行-t -i -c 20 -m 125g –name = test –net = host centos / […]

如何在运行时更改docker lxc / cgroupconfiguration

我想在容器运行时更​​改docker lxc / cgroup设置。 举个例子,如果我这样启动一个容器: docker run –lxc-conf="lxc.cgroup.cpuset.cpus = 0" … 如何在不停止和启动容器的情况下将设置调整为“lxc.cgroup.cpuset.cpus = 1”。

无法使用Apache2和ProxyPass执行“大”POST请求

我有一个apache2服务器,configurationproxypass来访问一个运行在Jetty下的servlet。 现在我有一个大的POST请求(600KB)的问题。 configuration如下: <Location /myurl> ProxyPass http://127.0.0.1:8080/myservlet retry=3 ProxyPassReverse http://127.0.0.1:8080/myservlet </Location> 我正在使用POST请求将base64编码图像上传到我的servlet。 当我直接在docker8080端口,一切工作正常。 当我使用上面configuration的Proxypass在端口80上使用Apache时,只有大约106085字节将被转发到docker,因此图像只能部分上传。 当我testing一个较小的图像(70 KB),一切工作正常。 我已经testing过了 LimitRequestBody 在Apache设置中的值。 它没有工作。 或没有LimitRequestBody,也没有工作。 另外,我testing了 SetEnv proxy-sendcl 代理传递的命令,但也没有工作。 (另外,该请求不被分块)。 请帮忙,我必须改变隐藏的设置,所以mod_proxy将整个请求转发到Jetty? 谢谢!!!

如何将“数据容器”目录装载到主机目录以保存持久数据

我正在尝试Dockerize我的Rails应用程序。 目前我有两个容器: “数据容器”。 在这个容器中是Rails应用程序代码和所有必需的gem。 “数据容器”暴露了Rails应用程序的根目录和gem目录 “Web服务器容器”。 在这个容器里运行Nginx + Passenger。 “Web服务器容器”绑定到“数据容器”卷。 一切正常。 但是我需要将所有日志和用户上传的图像(存储在Rails应用程序根目录“public / images”目录下)备份在主机目录中。 我知道我可以启动连接到“数据容器”的新容器,并对主机目录做一些备份。 但是这种方法并不是我想要实现的。 我希望所有的日志和图像都是直接的,并且一直写在主机目录上。 我尝试将主机目录挂载到“数据容器”目录中,我想将这些数据存储在主机上,但是这种方法不起作用。 启动并检查“数据容器” docker run –name application -v $HOME/cabin/data/log:/opt/application/log -v $HOME/cabin/data/images:/opt/application/public/images foo/application docker inspect application "Volumes": { "/opt/application": "/var/lib/docker/vfs/dir/0c2a96af0e13d2b1c451610dc7bd561cffd246564e1966cb55628d329b4ee62b", "/opt/application/log": "/home/vagrant/cabin/data/log", "/opt/application/public/images": "/home/vagrant/cabin/data/images", "/webapp_gems": "/var/lib/docker/vfs/dir/b2a08475272e1a04eae121094c0369a38c22dd92ca76fc2c2418eeabea31e266", "/webapp_lib64": "/var/lib/docker/vfs/dir/44df839567e15c471e3ccd33a28778d7f67496c32f6110703d4d5e15677e00f6" }, "VolumesRW": { "/opt/application": true, "/opt/application/log": true, "/opt/application/public/images": true, "/webapp_gems": true, "/webapp_lib64": […]

卷和卷:在两个地方都有path吗?

如果我要像这样运行nginx: docker run -i -t -p 80:80 \ -v /docker/dev:/dev \ -v /docker/var/www:/var/www \ -v /docker/var/log/nginx:/var/log/nginx \ -v /docker/etc/nginx:/etc/nginx \ –name clmnginxbash quasaur/nginximage /bin/bash …我正在使用Docker HOST的文件系统来存储nginx的configuration和网站本身,我不应该为这些共享包含一个VOLUME语句,或者我应该? VOLUME ["/etc/nginx", "/var/www","/var/log/nginx"] 事实上,我不应该能够从Dockerfile中的图像中删除这些目录,因为它们不会被使用? RUN rm -rf /usr/share/nginx/www /etc/nginx /var/log/nginx 感谢您的反馈意见!

与docker工人的厨师独奏:防止在构build期间启动服务

我正在尝试在Docker容器中重复使用现有的食谱,但大多数食谱将在厨师客户端运行期间(例如Tomcat,apache2)启动服务。 由于厨师独奏在图像创build过程中运行,厨师运行只会失败。 如何防止食谱启动服务? 我正在使用下面的Dockerfile FROM jr42/chef-solo-centos ADD chef /chef RUN cd /chef && /opt/chef/embedded/bin/berks vendor /chef/cookbooks RUN chef-solo -N mynode -c /chef/solo.rb -j /chef/solo.json 在我的runbook(solo.json)的Tomcat: { "tomcat": { "base_version": "" }, "run_list": [ "recipe[tomcat]" ] } 和Berksfile: source "https://supermarket.getchef.com" metadata cookbook 'tomcat'

用烧杯testingdocker实例

我有一套运行在docker主机上的Beakertesting。 我不知道Docker如何处理交换文件的复杂性,但它似乎并不喜欢它。 Puppet代码如下所示: exec { 'Create swap file': command => "/bin/dd if=/dev/zero of=${swapfile} bs=1M count=${swapfilesize_mb}", creates => $swapfile, } exec { 'Attach swap file': command => "/sbin/mkswap ${swapfile} && /sbin/swapon ${swapfile}", require => Exec['Create swap file'], unless => "/sbin/swapon -s | grep ${swapfile}", } if $add_mount { mount { 'swap': ensure => present, fstype => […]

Lighttpd和Discourse(Docker):configurationmod_proxy

我在configurationLighttpd服务托pipe在我的服务器上的各种服务时遇到问题。 Lighttpd作为一个前台,我有几个DNSlogging,每个不同的子域,redirect到同一台机器。 目标是通过主机将这些请求分发给各种其他Web服务器。 特别是,Discourse被设置为一个Docker容器。 embedded式Nginx监听容器的端口80 ,该端口通过Docker映射到服务器的端口3080 : $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7b115219788e local_discourse/app:latest "/sbin/runit" 11 weeks ago Up 8 weeks 0.0.0.0:3022->22/tcp, 0.0.0.0:3080->80/tcp 我在Lighttpd上启用了mod_proxy ,这里是configuration: server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_rewrite", "mod_proxy", ) server.document-root = "/var/www" server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) server.errorlog = "/var/log/lighttpd/error.log" server.pid-file = "/var/run/lighttpd.pid" […]

如果Root上下文初始化失败,自动停止Tomcat

我似乎无法弄清楚是否可以设置Tomcat停止当ROOT上下文初始化失败。 由于我的Tomcat实例只作为ROOT上下文托pipe一个应用程序,因此如果此Web应用程序的初始化失败,保持Tomcat运行在空闲状态是没有意义的。 我知道这不是最佳的做法,例如基于Spring Boot的微服务架构提供了这种开箱即用的function,但我们现在不能迁移到Spring Boot。 不过,我需要某种自动故障处理,因为我们绑定到Docker图像,如果在容器内发生了致命事件(容器退出),我希望在容器级别上看到它。