我想运行这个 kurento 示例:https://doc-kurento.readthedocs.io/en/stable/tutorials/java/tutorial-one2one.html
但是当我在 Docker 上构建应用程序服务器时,我遇到了一些问题。
当我运行 kms docker 时 - 它运行成功。我将kurento-media-server的端口设置为8889:8888,检查时docker容器中的IP为172.17.0.2。另外,我将 Web 应用程序的端口设置为 8081:8080。
当我尝试打开网页时 - 它没有响应。
我的网址是:https://192.168.0.2:8443 ,其中 192.168.0.2 是我运行 docker 的服务器的 IP。我还尝试使用 https://172.17.0.3:8443 直接连接到 docker 容器 IP 。
这是我的应用程序 dockerfile。
FROM ubuntu:16.04
MAINTAINER USER1 "USER1@infinte.com"
RUN apt-get update
RUN apt-get install git -y
RUN apt-get install curl -y
RUN apt install apt-utils -y
RUN apt install maven -y
RUN apt install openjdk-8-jdk openjdk-8-jre -y
RUN apt-get install software-properties-common -y
RUN git clone https://github.com/Kurento/kurento-tutorial-java.git
WORKDIR kurento-tutorial-java/kurento-one2one-call-advanced/
EXPOSE 8080
ENTRYPOINT mvn -U clean spring-boot:run -Dkms.url=ws://172.17.0.2:8888/kurento
这是我的 kms 运行命令:
docker run -t --name kms -p 8889:8888 kurento/kurento-media-server
这是我的应用程序服务器运行命令:
docker run -d --name apps -p 8081:8080 --link kms apps
我在这里犯了什么错误?我可能需要更改 ENTRYPOINT 中的 IP 吗?
最佳答案
我花了好几个星期才找出它不起作用的原因。
为了使一切正常工作,我需要在 docker 命令中添加 --network=host
行。
正确的docker命令是
docker run --network=host -t --name apps -p 8081:8080 apps
关于java - 如何在 docker 上运行 kurento java web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58707755/