2017-10-23 21 views
0

내 목표는 jitsi-meet 및 다른 도커 컨테이너를 내 CentOS에서 실행하는 것입니다. 이를 위해, 나는 고정 표시기 - compose.yml 파일 생성 :docker-compose 및 jitsi-meet을 사용하여 호스트를 알 수 없음

version: '2' 

services: 

    jitsi-meet: 
     image: robertoandrade/jitsi-meet 
     container_name: jitsi-meet 
     hostname: 192.168.5.169 
     restart: always 
     ports: 
      - "443:443 

내가 업 구성 고정 표시기와 함께 실행 나는 다음과 같은 오류 메시지가 :

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 

나는 이미지를 실행하면 docker run -it --name jitsi-meet -p 443 : 443 robertoandrade/jitsi-meet 호스트 이름에 대한 입력 프롬프트가 나타나고 완벽하게 시작되었습니다.

매트가 언급 한대로 "stdin_open : true"및 "tty : true"로 시도하십시오.

참고 : 나는 PuTTY ssh마다 작동합니다.

결과 :

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. 

가 어떻게 그것을 고정 표시기 - 구성 작업을 할 수 있습니까?

수동 입력이없는 해결책을 선호합니다.

+0

'hostname : 192.168.5.169' 이것은 작성과 직접 실행의 주요 차이점처럼 보입니다. yuo이 줄을 제거하고 다시 시도 할 수 있습니까? – yamenk

+0

@yamenk 동일한 오류 메시지가 나타납니다. – Tom

답변

0

도커 이미지를 시작하려면 사용자 입력이 필요하므로 명령에 -i-t이 사용 된 것 같습니다.

-i은 표준 입력을 열린 상태로 유지합니다. -t은 프로세스에 pseudo tty를 할당하므로 콘솔이 있다고 생각합니다.

The stdin_open and tty options can be set in a compose file도 있습니다.

version: '2' 

services: 

    jitsi-meet: 
     image: robertoandrade/jitsi-meet 
     container_name: jitsi-meet 
     restart: always 
     stdin_open: true 
     tty: true 
     ports: 
      - "443:443 

일반적으로 서비스는 백그라운드에서 실행할 수 있도록 입력 할 필요가 없습니다. 대부분의 컨테이너 이미지는 환경 변수 또는 구성 파일을 설정하여 호스트 이름과 같은 구성 옵션을 설정합니다.

+0

나는 그것을 시도했다. 그러나 새로운 에러 메시지를 얻었고, 나의 질문을 갱신했다. 나는 또한 사용자 입력을 좋아하지 않으며 docker-compose에서 호스트 이름을 설정하여 제거하려고 시도했다. 효과 없음 :( – Tom

+1

어쨌든 [Dockerfile] (https://github.com/robertoandrade/docker-jitsi-meet/blob/master/Dockerfile)을 다시 작성해야합니다. 솔직히 말해서 어쨌든 그렇게 할 것입니다. run.sh에서'dpkg-reconfigure'를 제거하십시오 run.sh에서 4 개의 서비스를 [s6-overlay] (https://github.com/just-containers/s6-overlay)로 관리하십시오. Dockerfile의 주석 처리 된 행 (https://github.com/robertoandrade/docker-jitsi-meet/blob/master/Dockerfile#L14-L18)과 같은 설정 파일을 한 번 실행하지만 런타임 환경 변수를 통해 설정하십시오. – Matt

+0

s6 [초기화 시스템과 같이 자신의 '진입 점'을 제공합니다.] (https://github.com/just-containers/s6-overlay#executing-initialization-andor-finalization-tasks) – Matt