我正在玩kubernetes。 我根据当地的文件,使用无用的方法开始了它。 一切工作正常,但我不能设法暴露服务端口,例如一个容器的Web前端。 在文档中,它只是描述谷歌云,谷歌似乎被自动configuration为暴露负载均衡器上的端口。 但是我怎样才能在本地安assembly置一个端口?
我正在测量由Docker的本地覆盖networking连接的两个Docker容器之间的UDP吞吐量。 我已经使用iperf但也想用nuttcp来测量吞吐量。 但是,当我启动服务器实例,然后启动客户端实例时,服务器实例崩溃,并出现以下错误消息: Segmentation fault (core dumped) 。 这是我如何启动服务器: nuttcp -S -u –nofork 这就是我开始的客户: nuttcp -u -T 115 10.0.0.3 服务器实例在启动客户端后直接崩溃。 我用同样的命令在Docker之外运行nuttcp没有任何问题。 这里是关于我使用的版本的一些额外的信息: # inside the container: $ uname -a Linux 310d92462ac0 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ nuttcp -V nuttcp-6.1.2 # outside the container: $ uname -a […]
我正在用这个命令手动创build一个桥: docker network create –driver bridge –internal –subnet=172.20.0.0/24 br0 然后我启动容器使用该桥参数–net=br0 –ip=172.20.0.x 问题是这些容器没有互联网接入,我甚至不能ping通外面。 真正的问题是与iptables有关。 当我重新启动服务器,iptables显示我一些规则,容器没有互联网接入。 但是,当我重新启动docker服务,然后iptables有不同的规则和容器有互联网接入。 我只会在这里粘贴规则集之间的区别。 当我重新启动服务器,此规则显示: *filter -A DOCKER-ISOLATION ! -s 172.20.0.0/24 -o br-aa4c507d3f06 -j DROP -A DOCKER-ISOLATION ! -d 172.20.0.0/24 -i br-aa4c507d3f06 -j DROP COMMIT 当我重新启动docker服务,这2条规则消失,我看到这个: *filter -A FORWARD -o br-aa4c507d3f06 -j DOCKER -A FORWARD -o br-aa4c507d3f06 -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT […]
我在Docker容器中运行gitlab,它很好地把它的依赖关系(MySQL,Redis,Mailserver)分离到不同的docker容器中。 运行它们不是问题,我以相反的顺序启动它们:首先是依赖关系,而不是gitlab本身。 有时我不得不重新启动docker主机。 目前我SSH入泊坞窗主机,并手动重新启动容器。 有没有更好的办法呢? 像只是告诉一些服务来启动gitlab容器,它首先照顾启动它的依赖关系? 我知道我可以为每个Docker容器创build单独的初始化脚本,但这不是我正在寻找的。
我有两个docker集装箱运行 docker ps 结果 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0bfd25abbfc6 f_service:latest "/usr/local/start-fl 13 seconds ago Up 2 seconds 0.0.0.0:8081->8081/tcp flume 6a1d974f4e3e h_service:latest "/usr/local/start-al 2 minutes ago Up About a minute 0.0.0.0:8080->8080/tcp hadoop Hadoop服务在hadoop容器中运行[即datanode,namenode,jobtracker,tasktracker,secondarynamenode] Flume服务正在使用flume contianer [即flume-agent] 我想在flume容器上运行hadoop命令[即hadoop fs -ls /]怎么做? 有任何想法吗? 我尝试链接,但我未能实现它。 运行命令为容器: docker run -it –name hadoop -p 8080:8080 h_service jps […]
我们有一个相当复杂的Rails应用程序,即将被部署到一台物理主机上。 主机有8个核心和128GB RAM。 该应用程序dockerised,有4种types的容器 Rails公司 networking服务器 Postgres DB Redis DB 工人容器(Resque) 预计Rails和Worker容器将通过在docker-machine中引入更多容器来缩放。 在开发环境中,内存分配给整个docker-machine: docker-machine create -d virtualbox –virtualbox-memory 8192 default 是否有可能控制单个容器的内存限制为多less? 例如,将16GB分配给Postgres,但将Rails容器限制为4GB。 什么样的最小内存应分配给运行docker-machine的服务器主机,这甚至可能吗? 编辑 相关问题: 如何处理Docker内存pipe理? Docker + Apache,内存使用情况如何工作? 编辑2 这个答案https://serverfault.com/a/645888/210752表示容器将根据需要分配内存。 这不是我在开发环境中的经验(默认情况下,docker-machine被分配了2GB)。
我想在一个已经包含我的应用程序的必要scheme的mysql之上创build一个docker镜像。 我试图添加行到Dockerfile将导入我的scheme作为一个SQL文件。 我这样做(我的Dockerfile): FROM mysql ENV MYSQL_ROOT_PASSWORD="bagabu" ENV MYSQL_DATABASE="imhere" ADD imhere.sql /tmp/imhere.sql RUN "mysql -u root –password="bagabu" imhere < /tmp/imhere.sql" 据我的理解,这是行不通的,因为mysql的docker镜像不包含mysql客户端(最佳做法状态“不要添加的东西,只是因为他们会很高兴”)(我错了吗?) 什么可能是一个很好的方法来做到这一点? 我有几件事情,但他们似乎都是凌乱的解决方法。 安装MySQL客户端,做我所要做的,然后删除/清除它。 复制mysql客户端二进制文件到图像,做我必须做的,然后删除它。 在另一个sql服务器中创build模式,并直接复制数据库文件(这看起来非常混乱,听起来像一堆污染问题) 有什么build议么? 希望稍后可以很容易维护,也许符合最佳实践?
我从这里下载了solr并解压。 然后转到apache-solr-3.1.0/solr/example的示例目录并运行此命令 java -jar start.jar 但是当我打开http://localhost:8983/solr/admin/ 它显示这样 HTTP错误:404问题访问/ solr / admin /。 原因: 未find 由Jetty提供技术支持:// 我使用Ubuntu 11.04。 为什么这个问题来了?
在我工作的公司,我们计划build立一个设备来简化我们产品的部署。 我们可能会运行一个虚拟机与下面的docker容器(包含产品)和一个web应用程序来pipe理这些(运行它们,停止它们等)。 但是,除此之外,我们还需要对未经授权的拷贝有一定程度的安全。 我们需要某种方法来防止(或者至less很难)让别人把虚拟机克隆到其他地方,并免费使用这个设备。 换句话说,我们需要获得最多的可移植性,但是我们需要将这种可移植性仅限于我们的操作。 有一些奇特的技术或我们可以使用的标准吗? 有没有一个确定的方法来提供这种保护?
我有两台服务器,每台运行50到100个不同的传统Web应用程序,使用从PHP到Python到Ruby-on-rails到NodeJS的各种语言编写。 我们希望这些机器老化,不安全,组织严密,没有一致的configuration逻辑,并且每个都运行两个mysqld实例(不要问)。 为此,我想要做到以下几点: 删除任何现在折旧的旧项目 沙盒中的每个应用程序,可能到自己的docker或乘客容器 将新服务器创build为自动缩放无状态群集,将每个MySQL数据库移动到其自己的RDS实例 可能甚至能够以类似于Heroku的方式自动缩放不活动的应用程序 最终,我想要做类似Deis或Flynn的事情,尽pipe目前这两种产品都没有生产准备。 我真的有点不知所措,我真的不知道从哪里开始。 有什么build议么? 乘客是我应该考虑的东西吗? 泊坞窗? 谢谢!