AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1508198
Accepted
user5265160
user5265160
Asked: 2024-03-22 00:47:56 +0800 CST2024-03-22 00:47:56 +0800 CST 2024-03-22 00:47:56 +0800 CST

在 Docker 容器内部和外部运行的应用程序之间的接口

  • 772

我正在运行 Ubuntu 20.04,并使用 Nvidia Riva 自动语音识别应用程序来检测语音命令。我想将它们引导/管道到另一个应用程序中以执行控制操作。我遇到的问题是 ASR 应用程序部署在 Docker 容器中,而控制应用程序则不是。

所以。我想知道在 docker 容器外部运行的应用程序如何与在容器内部运行的应用程序交互。

我考虑过在同一个容器中运行所有内容,但是这是不切实际的,因为我们的产品已经成熟,有很多相互交互的服务,并且还有与 Linux 内核驱动程序的接口。

预先感谢您的任何帮助。

docker
  • 1 1 个回答
  • 43 Views

1 个回答

  • Voted
  1. Best Answer
    Artur Meinild
    2024-03-26T20:24:31+08:002024-03-26T20:24:31+08:00

    Docker 容器和主机之间有两个非常明显的接口,您可能应该进一步探索:

    1. 已发布的端口
    2. 绑定挂载(持久存储)
    已发布的端口

    运行容器时的一种选择是将端口从容器映射到主机。这可用于 Web 界面等,还可通过 TCP 或 UDP 端口映射交换其他数据。

    要在容器和主机之间映射端口,请使用-p具有以下语法的选项:

    docker run -p <host-port>:<container-port> <IMAGE>
    

    示例:您想要将80容器中的 TCP 端口映射到8080主机上的端口(这/tcp是可选的,因为它是默认值)。

    docker run -p 8080:80/tcp <IMAGE>
    
    绑定坐骑

    另一种选择是使用绑定挂载在主机文件系统和容器之间映射文件。这些文件是实时映射的,因此容器中发生的任何更新都应立即反映在文件系统中。

    要在容器和主机之间映射文件,请使用-v具有以下语法的选项:

    docker run -v /path/on/host:/path/in/container <IMAGE>
    

    /data示例:您想要将容器中的路径映射到home/user/data主机上的路径。

    docker run -v /home/user/data:/data <IMAGE>
    

    请注意,还可以对单个文件进行附加映射:

    docker run -v /home/user/data:/data -v /usr/local/etc/container.conf:/etc/container.conf <IMAGE>
    
    • 2

相关问题

  • 您是否需要具有虚拟化功能的处理器才能在 Snappy Ubuntu Core 上运行 Docker?

  • 码头工人的问题

  • 如何在没有 sudo 的情况下使用 docker?

  • 如何升级 Docker

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve