创建docker群服务时如何传递自定义参数?

How to pass custom parameters when creating docker swarm service?

我是 docker 和 docker swarm 的新手,并开始 docker 化多项服务,并试图将它们 运行ning 作为 docker swarm服务。我 运行 进入了带有 linuxserver/ffmpeg 图片的路障:

  1. 它使用了创建服务中未实现的 --device 参数
  2. 它期望几个自定义参数将它们传递给 ffmpeg 编码器

从我的研究到现在,我假设传递参数没有在 docker 创建服务中实现,但也许你能想到一个解决方法? (不幸的是,图像不处理环境变量,或者至少没有记录)

这就是我启动 docker 化 ffmpeg 的方式(在独立模式下工作正常):

docker 运行 -d /
--network="主机" /
--device=/dev/video0:/dev/video0 / ### 错误:未知标志
--name ffmpeg_streamer /
--restart always -it /
-v $(密码)/视频:/视频/
linuxserver/ffmpeg / ### 此处自定义参数
-stream_loop /
-1 -re -nostdin /
-i "/video/test.avi" /
-f 脉冲 /
-vcodec libx264 /
-预设:v非常快/
-b:v 400k /
-f flv rtmp://localhost:1935/live/streamkey

非常感谢您的关注!

试试这个 docker-compose 文件

version: '3.3'

services:
  ffmpeg_streamer:
    image: 'linuxserver/ffmpeg'
    restart: always
    devices:
      - "/dev/video0:/dev/video0" #make sure the folde /dev/video0 exist in your host
    command: ["-stream_loop", "-1", "-re", "-nostdin", "-i" ,"/video/test.avi", "-f", "pulse", "-vcodec", "libx264", "-preset:v", "veryfast", "-b:v", "400k", "-f", "flv", "rtmp://localhost:1935/live/streamkey"]
    network_mode: host
    volumes:
      - './video:/video'

您可以 运行 使用此命令:docker-compos up -d