以下示例来自eval $(echo "$Line" | sed "s/^\(.*\) (\(.*\)) \[\(.*\)]$/TITLE='\1' CHAPTER='\2' PAGENUMBER='\3'/")
echo "$TITLE + $CHAPTER + $PAGENUMBER"
How to Use BeanShell: JMeter's Favorite Built-in Component。
根据我的理解,他们希望在docker-compose
容器中提供redis
端口6379。
他们为什么没有
web
在expose:
- "6379"
容器中?
redis
答案 0 :(得分:1)
由于我们已将容器分配给docker网络,因此您不再需要链接。如果没有链接,除非您使用docker run -P
发布所有端口,否则在容器上公开端口没有任何价值。容器可以与任何其他容器上打开的任何端口进行通信(如果它们位于同一网络上)(假设ICC的默认设置),因此暴露端口变为noop。
通常,您只通过Dockerfile公开一个端口作为运行图像的指示器,或使用-P
标志。还有一些项目会查看其他容器的暴露端口,以了解如何与它们交谈,特别是我考虑使用nginx-proxy,但这是一个独特的案例。
但是,发布端口使得该端口可以从docker主机获得,这需要始终使用docker-compose.yml或run命令(您不希望图像作者)能够在没有某种形式的本地管理员确认的情况下影响docker主机。发布特定端口时,不需要首先公开它。
答案 1 :(得分:1)
此图片包含EXPOSE 6379(redis端口),因此标准 容器链接将使其自动可用于链接 容器(如下例所示)。
这几乎是典型的做事方式。