diff options
author | Alexander Kirillov <saratovsource@gmail.com> | 2017-04-03 22:52:18 +0400 |
---|---|---|
committer | Alexander Kirillov <saratovsource@gmail.com> | 2017-04-03 22:52:18 +0400 |
commit | ad1153421117b7c92785623b43c44bedda15f369 (patch) | |
tree | 857611c0984c1491254b64c2cb0dbfeee82d4772 /examples | |
parent | 6653b0c4bb79dfa6b11aa786dcc6a2f7ed767452 (diff) |
Add support for docker networks
commit 55008eea85dace74acc625914e11d87d15a46b1e
Author: Alexander Kirillov <saratovsource@gmail.com>
Date: Mon Apr 3 22:47:34 2017 +0400
Some DRY
commit c9173593eb9827b30071cb6e42d439ec3d4c3bb1
Author: Alexander Kirillov <saratovsource@gmail.com>
Date: Mon Apr 3 22:42:35 2017 +0400
Connect container to network
commit 8d68406ef4c69c98e43b7b28923a78e1e9672955
Author: Alexander Kirillov <saratovsource@gmail.com>
Date: Mon Apr 3 22:09:58 2017 +0400
Create docker network
commit 868e2076988c0b16f6d5a200cf12e77f5bffaeab
Author: Alexander Kirillov <saratovsource@gmail.com>
Date: Mon Apr 3 18:49:12 2017 +0400
Delete network
commit 58a08e77e5984847589eeb35bc097c8949752619
Author: Alexander Kirillov <saratovsource@gmail.com>
Date: Mon Apr 3 18:42:28 2017 +0400
Add inspect docker network
commit 9fa4143013aa43aaf73645b19565d6e606489952
Author: Alexander Kirillov <saratovsource@gmail.com>
Date: Mon Apr 3 18:03:02 2017 +0400
Add list networks
Diffstat (limited to 'examples')
-rw-r--r-- | examples/networkconnect.rs | 16 | ||||
-rw-r--r-- | examples/networkcreate.rs | 17 | ||||
-rw-r--r-- | examples/networkdelete.rs | 15 | ||||
-rw-r--r-- | examples/networkdisconnect.rs | 16 | ||||
-rw-r--r-- | examples/networkinspect.rs | 15 | ||||
-rw-r--r-- | examples/networks.rs | 13 |
6 files changed, 92 insertions, 0 deletions
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) + } +} |