我正在使用bash脚本来启动虚拟网络,其上有两个docker容器。这感觉史前。是否有一些工具可以上下旋转这样的整体&显示其当前状态,还是一个人必须自己处理?
在docker-compose
的情况下,从docker文档中不清楚docker-compose是自包含的还是与swarm绑定的,并且compose定义文件的权威示例,以及用于启动和停止集合的命令将是非常有帮助。
E.g。这里是一个bash脚本将用于定义/启动两个相互关联的容器的应用程序,不用说这个脚本无法帮助管理它的生命周期,而不仅仅是启动它一次。
docker network create --driver bridge FooAppNet
docker run --rm --net=FooAppNet --name=component1 -p 9000:9000 component1-image
docker run --rm --net=FooAppNet --name=component2 component2-image
同样在此示例中,容器component1
向主机公开端口9000,并且其包含的应用程序在其配置文件中将其硬连线,以便按名称使用component2
的服务(码头工人网络实践依赖于docker networks' internal DNS)。
答案 0 :(得分:4)
对于您给出的示例,以下Docker Compose文件将为您提供所需内容:
component1:
image: component1-image
net: FooAppNet
container_name: component1
ports:
- "9000:9000"
component2:
image: component2-image
net: FooAppNet
container_name: component2
如果您将其存储在docker-compose.yml
文件中,然后运行docker-compose up -d
,则会创建/启动/重新启动您的容器并将其分配到您的FooAppNet
网络。
-d
标志以分离模式运行容器,并在启动容器时阻止将日志记录输出打印到终端窗口。您仍然可以通过docker logs -f ...
获取他们的日志,就像使用任何其他容器一样。
然后,您可以使用docker-compose down
和docker-compose restart
等来控制整体的生命周期。另外,using variables可以使定义文件更具灵活性。
请参阅以下评论中有关使用由docker撰写自动旋转的网络的信息。
答案 1 :(得分:0)
TL; DR - 请参阅https://docs.docker.com/compose/networking/的开头部分以获取解决方案。它将引导您完成整个必要的配置。很好地工作,需要掌握各种 use bd_hospital;
create table personas2 (
dni int PRIMARY KEY,
apellidos varchar(50),
funcion varchar(30))
select dni, apellidos, funcion from personas where cod_hospital=4;
命令行选项才能提高效率。