小编ash*_*ain的帖子

如何使用dockerfiles CMD运行shell脚本

我使用dockerfiles来构建一个简单的容器.这是Dockerfile:

FROM XXXXXXX:5003/base-java

MAINTAINER XXXXX

ADD pubsub/ /opt/pubsub/

CMD ["/opt/pubsub/run.sh"]
Run Code Online (Sandbox Code Playgroud)

内容run.sh如下:

#!/bin/bash
nohup java -jar /opt/pubsub/publish.jar &
nohup java -jar /opt/pubsub/subscribe.jar &
Run Code Online (Sandbox Code Playgroud)

这是简单的java应用程序pub/sub.

现在我有另一个运行rabbitmq的容器,我正在连接2​​个容器,但是我的每个尝试都失败了,而我的pub/sub容器没有启动.有人可以建议如何调试这个问题吗?不知何故,docker日志没有任何东西.

这是我如何链接容器: sudo docker run -d -P --name pub_sub --link rabbitmq:rabbitmq1 image_pub_sub

以下是我在pub/sub代码中使用别名的方法

factory = new ConnectionFactory(); 
factory.setHost("rabbitmq1"); 
try { connection = factory.newConnection(); 
channel = connection.createChannel(); 
channel.queueDeclare("pub", true, false, false, null); 
} 
catch (IOException e) { // TODO Auto-generated catch block 
e.printStackTrace(); }
Run Code Online (Sandbox Code Playgroud)

我期待我的发布代码将在rabbitmq容器中创建一个队列并开始推送消息.我的用户代码基本上连接到同一个rabbitmq并开始阅读消息.

当我运行命令没有任何反应时,它只打印新容器的长ID并退出..当我运行时sudo docker …

docker dockerfile

6
推荐指数
1
解决办法
2万
查看次数

HaProxy用于marathon mesos docker链接容器上的服务发现

请不要在我检查的任何地方询问.这就是我所做的.我能够部署单个mesos,marathon和docker实例.向前迈出下一步我希望有2个mesos slave(docker containers)相互链接.只需使用docker,就可以使用docker链接功能实现相同功能.但是在使用业务流程(mesos)和调度程序(marathon)时,您似乎需要使用服务发现.

我的设置很简单,可以在一台主机上运行.所以我将有2个docker容器,一个运行一个简单的pub/sub和一个运行rabbitmq.如何在此设置中使用HA PRoxy.我看过mesosphere http://mesosphere.com/docs/getting-started/service-discovery/提供的一些文件, 但目前尚不清楚如何去做.

haproxy marathon docker mesos mesosphere

4
推荐指数
1
解决办法
4236
查看次数

标签 统计

docker ×2

dockerfile ×1

haproxy ×1

marathon ×1

mesos ×1

mesosphere ×1