使用 docker 进行 Youtrack 部署:无法监听地址 0.0.0.0 和端口 443

使用 docker 进行 Youtrack 部署:无法监听地址 0.0.0.0 和端口 443

我正在尝试将 Youtrack 安装从一台服务器 (Windows) 移至另一台服务器 (Ubuntu)。由于现在我将使用 Linux,因此我想使用 docker 来设置 Youtrack 实例。

我的步骤:

  1. 我已经从第一台服务器进行了备份。

  2. 我已经在第二台服务器上准备了新文件夹并运行docker镜像:

    docker run --rm -it --name my-youtrack \
    -v /home/user/docker-services/youtrack/data:/opt/youtrack/data \
    -v /home/user/docker-services/youtrack/conf:/opt/youtrack/conf \
    -v /home/user/docker-services/youtrack/logs:/opt/youtrack/logs \
    -v /home/user/docker-services/youtrack/backups:/opt/youtrack/backups \
    -p 8080:8080 \
    -p 443:443
    jetbrains/youtrack:2019.2.56594
    

    容器启动成功:

    Starting YouTrack...
    * Configuring JetBrains YouTrack 2019.2
    * Made default base-url 'http://localhost:8080/' from hostname 'localhost' and listen port '8080'
    * JetBrains YouTrack 2019.2 runtime environment is successfully configured
    * Loading logging configuration from /opt/youtrack/lib/ext/log4j.xml
    * Redirecting JetBrains YouTrack 2019.2 logging to /opt/youtrack/logs/internal/services/bundleProcess
    * Configuring Service-Container[bundleProcess]
    * Configuring Bundle Backend Service
    * Configuring Configuration Wizard
    * Starting Service-Container[bundleProcess]
    * Starting Bundle Backend Service
    * Starting Configuration Wizard
    * JetBrains YouTrack 2019.2 Configuration Wizard will listen inside container on {0.0.0.0:8080}/ after start and can be
    accessed by URL [http://<put-your-docker-HOST-name-here>:<put-host-port-mapped-to-container-port-8080-here>/?wizard_token=VRjOG9ApYdo3UZky5xZW]
    
  3. 我也可以通过浏览器访问配置向导,http://my-host.com:8080/?wizard_token=VRjOG9ApYdo3UZky5xZW在其中选择“升级”选项,然后选择我的备份文件。但在下一步(当我选择“https”选项卡时),我收到错误:

    无法监听地址 0.0.0.0 和端口 443。请验证现有 YouTrack 实例是否已停止,并且没有其他服务监听相同的地址和端口。

    在此处输入图片描述

我不明白为什么会出现这个错误?

netstat的结果为:

user@myhost:~$ sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      909/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1261/sshd
tcp6       0      0 :::443                  :::*                    LISTEN      26920/docker-proxy 
tcp6       0      0 :::8080                 :::*                    LISTEN      24942/docker-proxy
tcp6       0      0 :::22                   :::*                    LISTEN      1261/sshd
udp        0      0 127.0.0.53:53           0.0.0.0:*                           909/systemd-resolve
443 is free on the host machine

问题仅在于 docker,当我通过“ZIP”方法运行 Youtrack 时 - 一切都正常。

我究竟做错了什么?

答案1

我已经从另一个方面解决了这个问题。我只是在 Youtrack docker 容器前面添加了一个 nginx 实例作为反向代理。所以现在我的 nginx 管理 https 流量并通过 http 与 Youtrack docker 容器通信。

相关内容