简体   繁体   English

主机-通过使用docker-compose和jitsi-meet未知

[英]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_opentty选项

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM