问题描述
docker run -d --network onprem_network --name rtsp_simple_server --rm -t -e RTSP_PROTOCOLS=tcp -p 8554:8554 aler9/rtsp-simple-server
第二个 docker 是从这些文件创建的: Dockerfile:
FROM python:slim-buster
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
workdir /code
copY rtsp_streaming.py /code/
copY ConsoleCapture_clipped.mp4 /code
RUN apt update && apt-get update && apt install ffmpeg -y # && apt-get install ffmpeg libsm6 libxext6 -y
CMD ["python","/code/rtsp_streaming.py"]
rtsp_streaming.py:
import os
os.system("ffmpeg -re -stream_loop 0 -i ConsoleCapture_clipped.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream")
我像这样运行第二个 docker 容器:
docker run --network onprem_network -v ${data_folder}:/code/Philips_MR --name rtsp_streaming -d rtsp_streaming
docker ps -a 产生:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48ea091b870d rtsp_streaming "python /code/rtsp_s…" 18 minutes ago Exited (0) 18 minutes ago rtsp_streaming
5376e070f89f aler9/rtsp-simple-server "/rtsp-simple-server" 19 minutes ago Up 19 minutes 0.0.0.0:8554->8554/tcp rtsp_simple_server
连接到 tcp://localhost:8554?timeout=0 失败:无法分配 请求地址
有什么建议可以解决这个问题吗?
解决方法
您应该使用 rtsp_simple_server:8554
而不是 localhost
。
由于在名为 rtsp_streaming
的容器中,localhost
表示 rtsp_streaming
,而在 rtsp_simple_server
中,localhost means
rtsp_simple_server`。所以你应该使用容器的名称。