无法为Jitsi Web构建docker文件

8yoxcaq7  于 2023-04-05  发布在  Docker
关注(0)|答案(1)|浏览(139)

bounty将在4天后过期。回答此问题可获得+50的声誉奖励。Earthling正在寻找来自声誉良好来源的答案:我一直没能得到一个关于我的详细问题的答案。所以才有了赏金。

我在ubuntu 22.04上使用docker-jitsi-meet。然而,当我试图构建jitsi的web版本的docker镜像时,得到以下错误:

Building myapp_webserver
Step 1/15 : ARG JITSI_REPO=jitsi
Step 2/15 : ARG BASE_TAG=stable
Step 3/15 : FROM ${JITSI_REPO}/base:${BASE_TAG}
 ---> 319b2e366502
Step 4/15 : LABEL org.opencontainers.image.title="Jitsi Meet"
 ---> Using cache
 ---> c5cc34716be6
Step 5/15 : LABEL org.opencontainers.image.description="WebRTC compatible JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences."
 ---> Using cache
 ---> 298eae2d1ff6
Step 6/15 : LABEL org.opencontainers.image.url="https://jitsi.org/jitsi-meet/"
 ---> Using cache
 ---> dfebe0d4db74
Step 7/15 : LABEL org.opencontainers.image.source="https://github.com/jitsi/docker-jitsi-meet"
 ---> Using cache
 ---> 20b854afd9af
Step 8/15 : LABEL org.opencontainers.image.documentation="https://jitsi.github.io/handbook/"
 ---> Using cache
 ---> 0c82729c172f
Step 9/15 : ADD https://raw.githubusercontent.com/acmesh-official/acme.sh/2.8.8/acme.sh /opt

 ---> Using cache
 ---> 494ef2963655
Step 10/15 : COPY rootfs/ /
 ---> Using cache
 ---> 06c78e7406c2
Step 11/15 : RUN apt-dpkg-wrap apt-get update &&     apt-dpkg-wrap apt-get install -y cron nginx-extras jitsi-meet-web socat curl jq &&     mv /usr/share/jitsi-meet/interface_config.js /defaults &&     rm -f /etc/nginx/conf.d/default.conf &&     apt-cleanup
 ---> Running in 9b3e147c12de
Err:1 http://deb.debian.org/debian bullseye InRelease
  Temporary failure resolving 'deb.debian.org'
Err:2 http://ftp.debian.org/debian bullseye-backports InRelease
  Temporary failure resolving 'ftp.debian.org'
Err:3 https://download.jitsi.org stable/ InRelease
  Temporary failure resolving 'download.jitsi.org'
Err:4 http://deb.debian.org/debian-security bullseye-security InRelease
  Temporary failure resolving 'deb.debian.org'
Err:5 http://deb.debian.org/debian bullseye-updates InRelease
  Temporary failure resolving 'deb.debian.org'
Reading package lists...
W: Failed to fetch http://deb.debian.org/debian/dists/bullseye/InRelease  Temporary failure resolving 'deb.debian.org'
W: Failed to fetch http://deb.debian.org/debian-security/dists/bullseye-security/InRelease  Temporary failure resolving 'deb.debian.org'
W: Failed to fetch http://deb.debian.org/debian/dists/bullseye-updates/InRelease  Temporary failure resolving 'deb.debian.org'
W: Failed to fetch http://ftp.debian.org/debian/dists/bullseye-backports/InRelease  Temporary failure resolving 'ftp.debian.org'
W: Failed to fetch https://download.jitsi.org/stable/InRelease  Temporary failure resolving 'download.jitsi.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package cron
E: Unable to locate package nginx-extras
E: Unable to locate package jitsi-meet-web
E: Unable to locate package socat
E: Unable to locate package curl
E: Unable to locate package jq
ERROR: Service 'myapp_webserver' failed to build: The command '/bin/sh -c apt-dpkg-wrap apt-get update &&     apt-dpkg-wrap apt-get install -y cron nginx-extras jitsi-meet-web socat curl jq &&     mv /usr/share/jitsi-meet/interface_config.js /defaults &&     rm -f /etc/nginx/conf.d/default.conf &&     apt-cleanup' returned a non-zero code: 100```

我的Docker文件:

ARG JITSI_REPO=jitsi
ARG BASE_TAG=stable
FROM ${JITSI_REPO}/base:${BASE_TAG}

LABEL org.opencontainers.image.title="Jitsi Meet"
LABEL org.opencontainers.image.description="WebRTC compatible JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences."
LABEL org.opencontainers.image.url="https://jitsi.org/jitsi-meet/"
LABEL org.opencontainers.image.source="https://github.com/jitsi/docker-jitsi-meet"
LABEL org.opencontainers.image.documentation="https://jitsi.github.io/handbook/"

ADD https://raw.githubusercontent.com/acmesh-official/acme.sh/2.8.8/acme.sh /opt
COPY rootfs/ /

RUN apt-dpkg-wrap apt-get update && \
    apt-dpkg-wrap apt-get install -y cron nginx-extras jitsi-meet-web socat curl jq && \
    mv /usr/share/jitsi-meet/interface_config.js /defaults && \
    rm -f /etc/nginx/conf.d/default.conf && \
    apt-cleanup

COPY myapp_web/ /usr/share/jitsi-meet/
COPY myapp_web/interface_config.js /defaults/interface_config.js

EXPOSE 80 443

VOLUME ["/config", "/usr/share/jitsi-meet/transcripts"]

我的docker-compose.yml(只粘贴相关代码)

services:
    # Frontend
    myapp_webserver:
        container_name: myapp_webserver
        #image: jitsi/web:${JITSI_IMAGE_VERSION:-stable}
        build:
             dockerfile: Dockerfile
             context: ./web
        restart: ${RESTART_POLICY:-unless-stopped}
        ports:
            - '${HTTP_PORT}:80'
            - '${HTTPS_PORT}:443'
        volumes:
            - ${CONFIG}/web:/config:Z
            - ${CONFIG}/web/crontabs:/var/spool/cron/crontabs:Z
            - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
        environment:
            - AMPLITUDE_ID
            - ANALYTICS_SCRIPT_URLS
            - ANALYTICS_WHITELISTED_EVENTS
            - AUDIO_QUALITY_OPUS_BITRATE
            - AUTO_CAPTION_ON_RECORD
            - BRANDING_DATA_URL
            - CALLSTATS_CUSTOM_SCRIPT_URL
            - CALLSTATS_ID
            - CALLSTATS_SECRET
            - CHROME_EXTENSION_BANNER_JSON
            - CONFCODE_URL
            - CONFIG_EXTERNAL_CONNECT
            - DEFAULT_LANGUAGE
            - DEPLOYMENTINFO_ENVIRONMENT
            - DEPLOYMENTINFO_ENVIRONMENT_TYPE
            - DEPLOYMENTINFO_REGION
            - DEPLOYMENTINFO_SHARD
            - DEPLOYMENTINFO_USERREGION
            - DESKTOP_SHARING_FRAMERATE_MIN
            - DESKTOP_SHARING_FRAMERATE_MAX
            - DIALIN_NUMBERS_URL
            - DIALOUT_AUTH_URL
            - DIALOUT_CODES_URL
            - DISABLE_AUDIO_LEVELS
            - DISABLE_DEEP_LINKING
            - DISABLE_GRANT_MODERATOR
            - DISABLE_HTTPS
            - DISABLE_KICKOUT
            - DISABLE_LOCAL_RECORDING
            - DISABLE_POLLS
            - DISABLE_PRIVATE_CHAT
            - DISABLE_PROFILE
            - DISABLE_REACTIONS
            - DISABLE_REMOTE_VIDEO_MENU
            - DISABLE_START_FOR_ALL
            - DROPBOX_APPKEY
            - DROPBOX_REDIRECT_URI
            - DYNAMIC_BRANDING_URL
            - ENABLE_AUDIO_PROCESSING
            - ENABLE_AUTH
            - ENABLE_BREAKOUT_ROOMS
            - ENABLE_CALENDAR
            - ENABLE_COLIBRI_WEBSOCKET
            - ENABLE_E2EPING
            - ENABLE_FILE_RECORDING_SHARING
            - ENABLE_GUESTS
            - ENABLE_HSTS
            - ENABLE_HTTP_REDIRECT
            - ENABLE_IPV6
            - ENABLE_LETSENCRYPT
            - ENABLE_LIPSYNC
            - ENABLE_NO_AUDIO_DETECTION
            - ENABLE_NOISY_MIC_DETECTION
            - ENABLE_OCTO
            - ENABLE_OPUS_RED
            - ENABLE_PREJOIN_PAGE
            - ENABLE_P2P
            - ENABLE_WELCOME_PAGE
            - ENABLE_CLOSE_PAGE
            - ENABLE_LIVESTREAMING
            - ENABLE_LOCAL_RECORDING_NOTIFY_ALL_PARTICIPANT
            - ENABLE_LOCAL_RECORDING_SELF_START
            - ENABLE_RECORDING
            - ENABLE_REMB
            - ENABLE_REQUIRE_DISPLAY_NAME
            - ENABLE_SERVICE_RECORDING
            - ENABLE_SIMULCAST
            - ENABLE_STATS_ID
            - ENABLE_STEREO
            - ENABLE_SUBDOMAINS
            - ENABLE_TALK_WHILE_MUTED
            - ENABLE_TCC
            - ENABLE_TRANSCRIPTIONS
            - ENABLE_XMPP_WEBSOCKET
            - ENABLE_JAAS_COMPONENTS
            - ETHERPAD_PUBLIC_URL
            - ETHERPAD_URL_BASE
            - E2EPING_NUM_REQUESTS
            - E2EPING_MAX_CONFERENCE_SIZE
            - E2EPING_MAX_MESSAGE_PER_SECOND
            - GOOGLE_ANALYTICS_ID
            - GOOGLE_API_APP_CLIENT_ID
            - HIDE_PREMEETING_BUTTONS
            - HIDE_PREJOIN_DISPLAY_NAME
            - HIDE_PREJOIN_EXTRA_BUTTONS
            - INVITE_SERVICE_URL
            - LETSENCRYPT_DOMAIN
            - LETSENCRYPT_EMAIL
            - LETSENCRYPT_USE_STAGING
            - MATOMO_ENDPOINT
            - MATOMO_SITE_ID
            - MICROSOFT_API_APP_CLIENT_ID
            - NGINX_RESOLVER
            - NGINX_WORKER_PROCESSES
            - NGINX_WORKER_CONNECTIONS
            - PEOPLE_SEARCH_URL
            - PREFERRED_LANGUAGE
            - PUBLIC_URL
            - P2P_PREFERRED_CODEC
            - RESOLUTION
            - RESOLUTION_MIN
            - RESOLUTION_WIDTH
            - RESOLUTION_WIDTH_MIN
            - START_AUDIO_MUTED
            - START_AUDIO_ONLY
            - START_BITRATE
            - START_SILENT
            - START_WITH_AUDIO_MUTED
            - START_VIDEO_MUTED
            - START_WITH_VIDEO_MUTED
            - TESTING_CAP_SCREENSHARE_BITRATE
            - TESTING_OCTO_PROBABILITY
            - TOKEN_AUTH_URL
            - TOOLBAR_BUTTONS
            - TRANSLATION_LANGUAGES
            - TRANSLATION_LANGUAGES_HEAD
            - TZ
            - USE_APP_LANGUAGE
            - VIDEOQUALITY_BITRATE_H264_LOW
            - VIDEOQUALITY_BITRATE_H264_STANDARD
            - VIDEOQUALITY_BITRATE_H264_HIGH
            - VIDEOQUALITY_BITRATE_VP8_LOW
            - VIDEOQUALITY_BITRATE_VP8_STANDARD
            - VIDEOQUALITY_BITRATE_VP8_HIGH
            - VIDEOQUALITY_BITRATE_VP9_LOW
            - VIDEOQUALITY_BITRATE_VP9_STANDARD
            - VIDEOQUALITY_BITRATE_VP9_HIGH
            - VIDEOQUALITY_ENFORCE_PREFERRED_CODEC
            - VIDEOQUALITY_PREFERRED_CODEC
            - XMPP_AUTH_DOMAIN
            - XMPP_BOSH_URL_BASE
            - XMPP_DOMAIN
            - XMPP_GUEST_DOMAIN
            - XMPP_MUC_DOMAIN
            - XMPP_RECORDER_DOMAIN
            - XMPP_PORT
            - WHITEBOARD_ENABLED
            - WHITEBOARD_COLLAB_SERVER_PUBLIC_URL
        networks:
            meet.jitsi:

# Custom network so all services can communicate using a FQDN
networks:
    meet.jitsi:

我使用提供的docker文件构建新镜像的原因是为了UI定制。正如你所看到的,我已经注解掉了myapp_webserver的docker-compose中的镜像部分,并提供了使用dockerFile的上下文。
我看不出问题出在哪。需要帮助。

zpjtge22

zpjtge221#

您可以做几件事来调试该问题。

root登录容器时:(docker exec -it --user root <containerID> bash

  • ping URL,看看它们是否得到解决
  • 查看是否使用了正确的DNS(可能是cat /etc/resolv.conf??)
  • 安装并尝试dig命令(dig @DNS-server-IP deb.debian.org
  • 尝试一个小技巧:编辑/etc/hosts文件,并在其中输入deb.debian.orgftp.debian.org IP地址-这样您的容器应该没有问题“解析”IP。之后,再次运行apt-get命令。

现在,我知道这不是关于如何解决问题的答案,但它可以帮助调试问题本身。

相关问题