summaryrefslogtreecommitdiffstats
path: root/examples
AgeCommit message (Collapse)Author
2021-03-08Split up builder.rsEli W. Hunter
2021-02-20Fix lifetimes (#272)Eli W. Hunter
* Some changes * Clarify lifetimes in transport.rs * Fix remaining easy lifetimes in lib.rs * Refactor Images::build for new lifetimes to work * Fix Exec::start() * Fix Container::exec() * Make header_bytes not a Vec * Make Docker::{images,...}() lifetimes explicit * Fix Containers::get() * Remove unnecessary locals from examples * Update changelog * Appease clippy
2021-02-08Add services api (#263)Wojciech Kępka
* Add initial Services models * Add initial Services controllers * Add ServicesListOptions * Rename ServicesList -> ServiceList * Fix some optional fields on ServiceRep * Add Service::inspect * Add Service::delete * Add Service::logs * Rename example logs -> containerlogs * Add ServiceOptions, ServiceCreateInfo, fix typo * Add a way to pass headers to request, add Payload and Headers for easier types * Add Service::create * Add examples * Fix fmt * Fix example
2021-02-06Simplify api, get rid of unnecessary lifetimes (#252)Wojciech Kępka
* Get rid of explicit lifetimes * more lifetimes ellided * Fix examples * Minor fix
2021-02-06Add Exec struct for easier manipulation of exec instances (#251)Wojciech Kępka
* Add ExecDetails and ProcessConfig * Add exec_with_id, exec_inspect * Add example how to inspect an exec instance * Make clippy happy * exit_code is an Option on ExecDetails * Add Exec struct * Update example * Fix typo * Add Exec::resize and ExecResizeOptions * Add resize example
2020-07-23Async/Await Support (continuation of #191) (#229)Eli W. Hunter
* it builds! * remove unused dependencies * bump dependencies * reimplement 'exec' endpoint * update a few more examples * update remaining examples * fix doc tests, remove unused 'read' module * remove feature-gated async closures * split futures dependency to just 'futures-util' * update version and readme * make functions accepting Body generic over Into<Body> again * update changelog * reinstate 'unix-socket' feature * reinstate 'attach' endpoint * fix clippy lints * fix documentation typo * fix container copyfrom/into implementations * add convenience methods for TtyChunk struct * remove 'main' from code example to silence clippy lint * Update hyper to 0.13.1 * Add Send bounds to TtyWriter * Appease clippy * Fix examples * Update issue in changelog Co-authored-by: Daniel Eades <danieleades@hotmail.com> Co-authored-by: Marc Schreiber <marc.schreiber@aixigo.de>
2019-12-26Expand rep::Version (#212)Colvin Wellborn
* expand the fields of Version Expands `shiplift::rep::Version` to contain fields for the following elements of the `/version` API: - `min_api_version` (`MinAPIVersion`) - `os` (`Os`) - `arch` (`Arch`) - `kernel_version` (`KernelVersion`) - `build_time` (`BuildTime`) Adds a new example program to display version information. * order version fields according to api docs * remove min_api_version For backwards compat with older engines, remove the `min_api_version` field. It was apparently added in API version `1.25.0` (circa 2017).
2019-12-10Replace invalid example in README with cargo example (#207)Thomas Eizinger
The example in the README is outdated and no longer compiles. To prevent this from happening again, this patch removes the example entirely and instead introduces a new example `custom_host` that will be checked during `cargo test`. Fixes #183.
2019-09-17Remove extra semicolon to fix cargo fmt --all -- --check (#195)Atul Bhosale
2019-09-14feat: use chrono to deserialize date times (#190)Marc Schreiber
2019-08-10Added function to tag an image (#187)MHamill98
* Added function to tag an image * Removed debug and println
2019-05-17Add import functionality (#165)Keir Lawson
2019-05-17Switch path type requirement to make more ergonomic (#168)Keir Lawson
2019-03-30Add a registry authentication. (#157)Anton Ageev
2019-02-25Apply rust format to fix CI checks (#153)Marc Schreiber
2019-02-23Copy a byte slice as file into a container (#151)Marc Schreiber
- add function copy_file_into to container - add example
2019-02-13Copy from container (#150)Andy Caldwell
* Add 'copy_from' function to 'Container' * Run clippy * Update deps
2018-12-24render idsoftprops
2018-12-24maint detailssoftprops
2018-12-24update to 2018 edition (#141)doug tangren
* update to 2018 edition * remove more externs * bump version
2018-12-22Fix serialization of network commands and add ↵Marc Schreiber
ContainerConnectionOptionsBuilder (#133)
2018-12-22feat: create, list, and delete volumes (#138)Marc Schreiber
2018-12-22Support interactive stdin/stdout streams (#136)Dylan McKay
* Support interactive stdin/stdout streams This adds support for streaming stdin, stderr, and stdout independently to a running container. The underlying API is futures-based, meaning the code is implemented asynchronously. A synchronous API is also exposed, which is implemented by simply waiting on the asynchronous API futures. This also modifies the existing Tty logic so that the storage type of the data is a Vec<u8> rather than a String. This is also how the Rust standard library persists data from the standard streams. In my particular application, I'm using stdin/stdout as the communication method between a container a host application. In it, a byte-based protocol is used. Streaming works by performing a TCP upgrade; upgrading a higher-level HTTP connection to a lower-level TCP byte stream upon agreement with the server. Docker will automatically upgrade HTTP container log requests to TCP byte streams of a custom std{in,out,err} multiplexing protocol if the client requests it with the 'Connection: Upgrade' header. * Return an error rather than panic when Docker refuses to upgrade to TCP * Add interpret-as-string accessors to tty::Chunk Also updates the examples to use them.
2018-11-14Async api (#128)Antoine Büsch
* Refactored Transport for better async use Still a bit rough, but it now builds a big future using combinators. It still does one `Runtime::block_on()` to keep the existing API, but this is a first up before making the whole API async. * Migrate most APIs to be Future-based I still need to finish a few of the more tricky ones that I've commented out for now, but most of it compiles and some examples work. In particular, `Docker::stats()` now properly returns an async stream of stats. * Fix events and containerinspect examples * Fix imageinspect, images, info and top examples * Fix containercreate, imagedelete and imagepull examples * Fix more examples * Add back debug statement in Transport::request * De-glob imports in examples * Remove unused imports in examples * Fix NetworkCreateOptions serialization * Add back error message extraction in Transport * Fix Container::create serialization of options * Add containerdelete example * Simplify result * Fix some error handling to remove unwrap() * Fix Image::export() * Fix imagebuild example * Add adapter from Stream of Chunks to AsyncRead Having an `AsyncRead` is required to be able to use the `FramedRead` and `Decoder` stuff from tokio_codec. This code is "borrowed" from https:/github.com/ferristseng/rust-ipfs-api though should probably be moved to its own crate or to tokio_codec. * Fix Container::logs() It now properly demuxes stdout/stderr, and returns a `Stream<Item = TtyLine>`. * Fix Container::export() * Use LineCodec for streaming JSON Although in my limited testing it seemed to work fine, there is no guarantee that 1 chunk == 1 piece of valid JSON. However, each JSON structure seems to be serialized on one line, so use LineCodec to turn the body into a stream of lines, then deserialize over this. * Fix serialization of ExecContainerOptions * Fix Container::exec() (kind of...) * Simplify deserialisation in Image::delete() * Small clean-ups * More clean ups * Fix rustdoc + remove extraneous "extern crate" * Fix doc example * Fix formatting
2018-10-10fix a number of clippy warnings (#122)doug tangren
2018-10-08try to get a consistent and repeatable codestyle goingsoftprops
2018-10-07Rename fields from rep structs to use snake caseAntoine Büsch
2018-10-01Update log and flate2 cratesAntoine Büsch
2017-12-13Fix: logs options for exampleAlexander Kirillov
2017-09-09code style enforcementsoftprops
2017-06-25apply rustfmtsoftprops
2017-05-06[ExecContainer] exec can now return stdout and stderr #50Joxit
2017-04-12Merge pull request #51 from imamdigmi/masterdoug tangren
MODIFY: images example
2017-04-03Add support for docker networksAlexander Kirillov
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
2017-02-17MODIFY: images exampleimam digmi
2017-01-31[ExecContainer] Add env option for exec command and update exampleJoxit
2017-01-29[ExecContainer] Add example for exec commandJoxit
2017-01-21Kill unused import warningsPete Hayes
2016-01-18cleanupsoftprops
2016-01-18rm tmp filesoftprops
2016-01-18massive progresssoftprops
2016-01-15wip for image buildingsoftprops
2016-01-03container create should following the same pattern as other methods that ↵softprops
take options
2016-01-03add debug loggingsoftprops
2016-01-03images should have labels... sometimessoftprops
2016-01-03more examplessoftprops
2016-01-03update changelogsoftprops
2016-01-03implement image list optionssoftprops
2016-01-03add log and top optionssoftprops
2016-01-03migrate builder interfaces into interfaces that just build options to ↵softprops
improve testability