Pol*_*ase 4 docker docker-compose docker-network
运行 2 个容器,其中mycontainer2必须使用相同的网络堆栈mycontainer1。就好像两个容器在同一台机器上运行一样。docker run这是我尝试使用--network container:xxx来实现的方法
$ docker run -it --rm --name mycontainer1 -p 6666:7777 myregistry/my-container1:latest
$ docker run -it --rm --network container:mycontainer1 --name mycontainer2 myregistry/my-container2:latest
Run Code Online (Sandbox Code Playgroud)
我尝试使用docker-compose以下命令来复制此行为。但网络:的定义docker-compose.yaml并不表示与--network container:xxx的选项等效的内容docker run。是否可以docker-compose配置两个容器使用相同的网络堆栈?
这是一个network_mode:设定。
version: '3.8'
services:
mycontainer1:
image: myregistry/my-container1:latest
ports: ['6666:7777']
mycontainer2:
image: myregistry/my-container2:latest
network_mode: service:mycontainer1 # <---
Run Code Online (Sandbox Code Playgroud)
由于 Compose 通常会选择自己的容器名称,因此此service:name表单使用与命名的 Compose 服务匹配的容器。(如果您覆盖,container_name:那么您也可以使用container:mycontainer1与 相同的方式docker run。)
| 归档时间: |
|
| 查看次数: |
5178 次 |
| 最近记录: |