如何让Docker容器与原生程序交互?

wz3gfoph  于 2023-10-16  发布在  Docker
关注(0)|答案(1)|浏览(128)

如果你有两个程序想要通信,其中一个是Docker容器,这将如何完成?
在Windows中有共享内存

p4rjhz4m

p4rjhz4m1#

我看到了两个选项,可以在本地进程和Docker容器中运行的另一个进程之间进行通信
1.暴露集装箱的港口
1.使用套接字

使用容器端口

使用-p|--publish标志公开内部容器端口:

docker run -d -p 80:80 nginx

通过这种方式,您可以使用tcpudp协议与使用客户端-服务器模型的容器内运行的进程进行交互
+资料

  • 发布端口-https://docs.docker.com/network/#published-ports
  • Dockerfile EXPOSE -https://docs.docker.com/engine/reference/builder/#expose
    使用套接字

使用-v|--volume标志将套接字文件挂载为容器上的卷:

docker run -d -v /path/to/file.sock:/path/to/file.sock example

通过这种方式,您可以与本地套接字文件进行交互,该套接字文件将在容器内绑定,因此两个进程(本地和容器内)将能够进行通信

相关问题