This is a Docker Client written in Swift. It's using the NIO Framework to communicate with the Docker Engine via sockets.
import PackageDescription let package = Package( dependencies: [ .package(url: "https://github.com/alexsteinerde/docker-client-swift.git", from: "0.1.0"), ], targets: [ .target(name: "App", dependencies: ["DockerClient"]), ... ] )
To add DockerClientSwift to your existing Xcode project, select File -> Swift Packages -> Add Package Depedancy.
https://github.com/alexsteinerde/docker-client-swift.git for the URL.
let client = DockerClient() let image = try client.images.pullImage(imageName: "hello-world:latest").wait() let container = try! client.containers.createContainer(image: image).wait() try container.start(on: client).wait() let output = try container.logs(on: client).wait() print(output)
For further usage examples, please consider looking at the provided test cases. Or have a look at the demo projects in the next section. If you want to read more about this package, feel free to read my blog article about it.
There are two demo applications.
When using this in production, make sure you secure your application so no others can execute code. Otherwise, the attacker could access your Docker environment and so all of the containers running in it.
This project is released under the MIT license. See LICENSE for details.
You can contribute to this project by submitting a detailed issue or by forking this project and sending a pull request. Contributions of any kind are very welcome :)
|Last commit: 1 week ago|
This is the initial release with a subset of the available APIs Docker provides.