- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于我的一个家庭项目,我决定使用 docker 容器和 fig 进行编排(第一次使用这些工具)。
这是我的 fig.yaml:
rabbitmq:
image: dockerfile/rabbitmq:latest
mongodb:
image: mongo
app:
build: .
command: python /code/app/main.py
links:
- rabbitmq
- mongodb
volumes:
- .:/code
最佳答案
我认为没有标准的方法来解决这个问题,但这是一个已知的问题,有些人有可以接受的解决方法。
有a proposal在 Docker 问题跟踪器上关于在容器监听暴露的端口之前不考虑容器已启动。然而,它可能不会被接受,因为它会在其他地方产生其他问题。有一个fig proposal也在同一个话题上。
简单的解决方案是像@jcortejoso 所说的那样进行 sleep 。来自 http://blog.chmouel.com/2014/11/04/avoiding-race-conditions-between-containers-with-docker-and-fig/ 的示例:
function check_up() {
service=$1
host=$2
port=$3
max=13 # 1 minute
counter=1
while true;do
python -c "import socket;s = socket.socket(socket.AF_INET, socket.SOCK_STREAM);s.connect(('$host', $port))" \
>/dev/null 2>/dev/null && break || \
echo "Waiting that $service on ${host}:${port} is started (sleeping for 5)"
if [[ ${counter} == ${max} ]];then
echo "Could not connect to ${service} after some time"
echo "Investigate locally the logs with fig logs"
exit 1
fi
sleep 5
(( counter++ ))
done
}
check_up "DB Server" ${RABBITMQ_PORT_5672_TCP_ADDR} 5672
在启动您的应用服务器之前,如上面的链接中所述。
fig.yml
.
rabbitmq:
image: dockerfile/rabbitmq:latest
mongodb:
image: mongo
rabbitmqready:
image: aanand/wait
links:
- rabbitmq
app:
build: .
command: python /code/app/main.py
links:
- rabbitmqready
- mongodb
volumes:
- .:/code
关于rabbitmq - 图 : docker containers start synchronisation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27670828/
我读到,对 Collection 实例的访问不应在类内同步。原因似乎是另一个对象可能会操纵列表,而不同步到第一个对象。然而,我想要同步的List是一个私有(private)字段,由所有者对象创建,并且
我需要决定多线程应用程序之一需要使用多少个计数信号量。我开始知道,如果我们知道同步点,那么我们就可以决定要使用的信号量的数量。什么是同步点? 最佳答案 同步点是执行流中一个线程必须等待其他繁忙线程的位
void Java_Package_Multithreading_againCallReadFile (JNIEnv *env, jobject obj) { if((*env)->Monito
对于我的一个家庭项目,我决定使用 docker 容器和 fig 进行编排(第一次使用这些工具)。 这是我的 fig.yaml: rabbitmq: image: dockerfile/rabbit
user32.dll 的文档 SetParent函数指出 When you change the parent of a window, you should synchronize the UIST
我是 PC 游戏的速通玩家(喜欢以尽可能快的方式完成游戏的人),我想在玩游戏时记录我的输入,以便稍后自动重播。所以我创建了一个小 C# 程序来做到这一点:基本上,它会启动一个计时器,每次我按下/松开一
我正在学习java并发,并使用一个在多人之间共享的银行帐户示例来尝试练习并发原理。 这是我的帐户类(class)。 public class Account(){ private int ba
我已经读过一些关于此问题的文章,但它们看起来很旧(2008 年),我希望有人可能有一个更优雅的解决方案。 我想知道 Expression Engine 开发人员如何使用本地测试和实时环境工作流程。 我
我是 Java 的新手,正在尝试学习同步语句的概念。下面的代码和语句来自 Java tutorial Oracle . 我的问题是,“nameList”变量是实例变量还是类变量?为什么它不包含在 sy
我在将 openWithCompletionHandler: (UIManagedDocument) 与主要事件同步时遇到一个基本问题。 情况:我有一个管理共享 UIManagedDocument 的
在 Grails 应用程序中,我们有一个接口(interface),它接受从单个请求中的参数创建的类似路径的 3 级结构,例如 level1/level2/document 对象 level2引用资料
我是一名优秀的程序员,十分优秀!