From ad1153421117b7c92785623b43c44bedda15f369 Mon Sep 17 00:00:00 2001 From: Alexander Kirillov Date: Mon, 3 Apr 2017 22:52:18 +0400 Subject: Add support for docker networks commit 55008eea85dace74acc625914e11d87d15a46b1e Author: Alexander Kirillov Date: Mon Apr 3 22:47:34 2017 +0400 Some DRY commit c9173593eb9827b30071cb6e42d439ec3d4c3bb1 Author: Alexander Kirillov Date: Mon Apr 3 22:42:35 2017 +0400 Connect container to network commit 8d68406ef4c69c98e43b7b28923a78e1e9672955 Author: Alexander Kirillov Date: Mon Apr 3 22:09:58 2017 +0400 Create docker network commit 868e2076988c0b16f6d5a200cf12e77f5bffaeab Author: Alexander Kirillov Date: Mon Apr 3 18:49:12 2017 +0400 Delete network commit 58a08e77e5984847589eeb35bc097c8949752619 Author: Alexander Kirillov Date: Mon Apr 3 18:42:28 2017 +0400 Add inspect docker network commit 9fa4143013aa43aaf73645b19565d6e606489952 Author: Alexander Kirillov Date: Mon Apr 3 18:03:02 2017 +0400 Add list networks --- examples/networkconnect.rs | 16 ++++++++++++++++ examples/networkcreate.rs | 17 +++++++++++++++++ examples/networkdelete.rs | 15 +++++++++++++++ examples/networkdisconnect.rs | 16 ++++++++++++++++ examples/networkinspect.rs | 15 +++++++++++++++ examples/networks.rs | 13 +++++++++++++ 6 files changed, 92 insertions(+) create mode 100644 examples/networkconnect.rs create mode 100644 examples/networkcreate.rs create mode 100644 examples/networkdelete.rs create mode 100644 examples/networkdisconnect.rs create mode 100644 examples/networkinspect.rs create mode 100644 examples/networks.rs (limited to 'examples') diff --git a/examples/networkconnect.rs b/examples/networkconnect.rs new file mode 100644 index 0000000..165510b --- /dev/null +++ b/examples/networkconnect.rs @@ -0,0 +1,16 @@ +extern crate shiplift; + +use shiplift::{ContainerConnectionOptions, Docker}; +use std::env; + +fn main() { + let docker = Docker::new(); + let networks = docker.networks(); + let container_id = env::args().nth(1).unwrap(); + let network_id = env::args().nth(2).unwrap(); + let info = networks + .get(&network_id) + .connect(&ContainerConnectionOptions::new(&container_id)) + .unwrap(); + println!("{:?}", info); +} diff --git a/examples/networkcreate.rs b/examples/networkcreate.rs new file mode 100644 index 0000000..b78ddd0 --- /dev/null +++ b/examples/networkcreate.rs @@ -0,0 +1,17 @@ +extern crate shiplift; + +use shiplift::{NetworkCreateOptions, Docker}; +use std::env; + +fn main() { + let docker = Docker::new(); + let networks = docker.networks(); + if let Some(network_name) = env::args().nth(1) { + let info = networks.create( + &NetworkCreateOptions::builder(network_name.as_ref()) + .driver("bridge") + .build() + ).unwrap(); + println!("{:?}", info); + } +} diff --git a/examples/networkdelete.rs b/examples/networkdelete.rs new file mode 100644 index 0000000..e67b798 --- /dev/null +++ b/examples/networkdelete.rs @@ -0,0 +1,15 @@ +extern crate shiplift; + +use shiplift::Docker; +use std::env; + +fn main() { + let docker = Docker::new(); + if let Some(id) = env::args().nth(1) { + let status = docker.networks() + .get(&id) + .delete() + .unwrap(); + println!("{:?}", status); + } +} diff --git a/examples/networkdisconnect.rs b/examples/networkdisconnect.rs new file mode 100644 index 0000000..b3e0721 --- /dev/null +++ b/examples/networkdisconnect.rs @@ -0,0 +1,16 @@ +extern crate shiplift; + +use shiplift::{ContainerConnectionOptions, Docker}; +use std::env; + +fn main() { + let docker = Docker::new(); + let networks = docker.networks(); + let container_id = env::args().nth(1).unwrap(); + let network_id = env::args().nth(2).unwrap(); + let info = networks + .get(&network_id) + .disconnect(&ContainerConnectionOptions::new(&container_id)) + .unwrap(); + println!("{:?}", info); +} diff --git a/examples/networkinspect.rs b/examples/networkinspect.rs new file mode 100644 index 0000000..f290f93 --- /dev/null +++ b/examples/networkinspect.rs @@ -0,0 +1,15 @@ +extern crate shiplift; + +use shiplift::Docker; +use std::env; + +fn main() { + let docker = Docker::new(); + if let Some(id) = env::args().nth(1) { + let network = docker.networks() + .get(&id) + .inspect() + .unwrap(); + println!("{:?}", network); + } +} diff --git a/examples/networks.rs b/examples/networks.rs new file mode 100644 index 0000000..18767d1 --- /dev/null +++ b/examples/networks.rs @@ -0,0 +1,13 @@ +extern crate shiplift; +extern crate env_logger; + +use shiplift::Docker; + +fn main() { + env_logger::init().unwrap(); + let docker = Docker::new(); + for c in docker.networks(). + list(&Default::default()).unwrap() { + println!("network -> {:?}", c) + } +} -- cgit v1.2.3