[英]host -unknown by using docker-compose and jitsi-meet
My goal is to run jitsi-meet and another docker container on my CentOS. 我的目标是在CentOS上运行jitsi-meet和另一个docker容器。 For this purpose, i created a docker-compose.yml file: 为此,我创建了一个docker-compose.yml文件:
version: '2'
services:
jitsi-meet:
image: robertoandrade/jitsi-meet
container_name: jitsi-meet
hostname: 192.168.5.169
restart: always
ports:
- "443:443
When i run it with docker-compose up i get the following error message: 当我使用docker-compose up运行它时,出现以下错误消息:
JVB 2017-10-23 12:20:33.925 INFO: [10] org.jitsi.videobridge.octo.OctoRelay.start().106 Octo relay not configured.
JVB 2017-10-23 12:20:33.964 SEVERE: [27] org.jitsi.meet.ComponentMain.call().278 host-unknown, host:localhost, port:5347
org.xmpp.component.ComponentException: host-unknown
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:219)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:221)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:201)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:270)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:255)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
JVB 2017-10-23 12:20:34.042 INFO: [14] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize() Initialized mapping harvesters (delay=652ms). stunDiscoveryFailed=false
When I run the image with docker run -it --name jitsi-meet -p 443:443 robertoandrade/jitsi-meet I get an input prompt for the hostname and it started flawlessly. 当我使用docker run -it --name jitsi-meet -p 443:443 robertoandrade / jitsi-meet运行映像时,我得到了主机名的输入提示,并且它完美启动。
Attempt with "stdin_open: true" and "tty: true" as mentioned by Matt. 尝试使用Matt提到的“ stdin_open:true”和“ tty:true”。
Note: I operate per PuTTY ssh. 注意:我按照PuTTY ssh进行操作。
Result: 结果:
unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
c.d: policy-rc.d denied execution of stop.
ing jitsi-videobridge
-----------------------------
The jisti-videobridge package needs the DNS hostname of your instance.
How can I make it work with docker-compose? 如何使其与docker-compose一起使用?
I would prefer a solution without the manual input. 我希望没有手动输入的解决方案。
It looks like that docker image requires user input to start, which is why -i
and -t
are used in the docker run
command. 看起来docker映像需要用户输入才能启动,这就是为什么在docker run
命令中使用-i
和-t
原因。
-i
keeps standard input open. -i
使标准输入保持打开状态。 -t
assigns a pseudo tty to the process so it thinks there is a console -t
为进程分配一个伪tty,因此它认为有一个控制台
The stdin_open
and tty
options can be set in a compose file too. 也可以在撰写文件中设置stdin_open
和tty
选项 。
version: '2'
services:
jitsi-meet:
image: robertoandrade/jitsi-meet
container_name: jitsi-meet
restart: always
stdin_open: true
tty: true
ports:
- "443:443
Normally services don't require input so they can be run in the background. 通常,服务不需要输入,因此它们可以在后台运行。 Most container images would set up an environment variable or config file to set configuration options like hostnames. 大多数容器映像会设置环境变量或配置文件来设置配置选项(例如主机名)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.