addService("Base")->image("ubuntu:16.10"); $composer->addService("Ftth")->image("ubuntu:17.10"); $composer->addService("ubuntu")->image("ubuntu"); $composer->addService("custom")->build("./custom"); $composer->addService("test1")->build("./custom1")->addVolumes('volumen_test1_test2', '/opt/test1'); $composer->addService("test2")->build("./custom2")->addVolumes('volumen_test1_test2', '/opt/test2') ->network('flowdat3')->ipv4_address("172.172.172.2"); $composer->getVolumes()->addVolumen('volumen_test1_test2', 'local'); $nc = new \Docker\Composer\NetworkConfig(); $nc->addDriver()->addSubnetGateway(); $composer->getNetwork()->addDriver('flowdat3')->addConfig('flowdat3', $nc); $rtr = Yaml::parse($composer->render()); $this->assertEquals( array( "version" => "2.2", "services" => array( "Base" => array("image" => "ubuntu:16.10"), "Ftth" => array("image" => "ubuntu:17.10"), "ubuntu" => array("image" => "ubuntu"), "custom" => array("build" => array("context" => "./custom")), "test1" => array("build" => array("context" => "./custom1"), "volumes" => array('volumen_test1_test2:/opt/test1')), "test2" => array("build" => array("context" => "./custom2"), "volumes" => array('volumen_test1_test2:/opt/test2'), "networks" => array("flowdat3" => array("ipv4_address" => "172.172.172.2"))), ), "volumes" => array('volumen_test1_test2' => array('driver' => 'local')), "networks" => array('flowdat3' => array('driver' => 'bridge', 'ipam' => array('driver' => 'default', 'config' => array(array('subnet' => '172.172.172.0/16'), array('gateway' => '172.172.172.1'))))) ), $rtr); } }