如果你有两个程序想要通信,其中一个是Docker容器,这将如何完成?在Windows中有共享内存
p4rjhz4m1#
我看到了两个选项,可以在本地进程和Docker容器中运行的另一个进程之间进行通信1.暴露集装箱的港口1.使用套接字
使用容器端口
使用-p|--publish标志公开内部容器端口:
-p|--publish
docker run -d -p 80:80 nginx
通过这种方式,您可以使用tcp或udp协议与使用客户端-服务器模型的容器内运行的进程进行交互+资料
tcp
udp
EXPOSE
使用-v|--volume标志将套接字文件挂载为容器上的卷:
-v|--volume
docker run -d -v /path/to/file.sock:/path/to/file.sock example
通过这种方式,您可以与本地套接字文件进行交互,该套接字文件将在容器内绑定,因此两个进程(本地和容器内)将能够进行通信
1条答案
按热度按时间p4rjhz4m1#
我看到了两个选项,可以在本地进程和Docker容器中运行的另一个进程之间进行通信
1.暴露集装箱的港口
1.使用套接字
使用容器端口
使用
-p|--publish
标志公开内部容器端口:通过这种方式,您可以使用
tcp
或udp
协议与使用客户端-服务器模型的容器内运行的进程进行交互+资料
EXPOSE
-https://docs.docker.com/engine/reference/builder/#expose使用套接字
使用
-v|--volume
标志将套接字文件挂载为容器上的卷:通过这种方式,您可以与本地套接字文件进行交互,该套接字文件将在容器内绑定,因此两个进程(本地和容器内)将能够进行通信