port
run and manage docker images with ease. Create snapshots from running containers, reset container to their inital image and save the state of running containers without the need to remember docker cli commands, even when using a remote docker engine.
How to get it
scoop
Install usingscoop bucket add maple 'https://github.com/kevinboss/maple.git'
scoop install port
winget
Install usingwinget install kevinboss.port
Install manually
Then add folder to path $Env:PATH += ";C:\Path\To\Folder"
How to configure it
version: 1.1
dockerEndpoint: unix:///var/run/docker.sock
imageConfigs:
- identifier: Getting.Started
imageName: docker/getting-started
imageTags:
- latest
- vscode
ports:
- 80:80
environment:
- DEBUG=1
A default .port file will be created in your user profile if you don't manually create one
Powershell
To get Unicode support in Powershell, add
[console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
to your $profile.
How to use it
run [identifier] -r(eset)
Allows the user the run a specified tag (base or snapshot) of an image.
identifier is optional, if not provided the user will be asked to select an image.
-r(eset) is optional, if provided will reset the already existing the container (if one exists for the image being run)
list [identifier]
Lists all images with their respective tags.
identifier is optional, if not provided all images will be listed. If provided all images belonging to the same identifier will be listed.
commit -t(ag) [identifier]
Creates an image from the currently running container.
identifier is optional, if not provided the user will be asked to select a container.
-t(ag) is optional, if not provied current date-time will be used as the tag.
reset [identifier]
Terminates and removes the currently running container. Then recreates the container using the image the running container was using.
identifier is optional, if not provided the user will be asked to select a container.
remove -r(ecursive) [identifier]
Allows the user the delete a specified tag (base, snapshot or untagged) of an image.
identifier is optional, if not provided the user will be asked to select an image.
-r(ecursive) is optional, if provided child images will automatically removed, if not an error will be thrown if an image has child images.
pull [identifier]
Allows the user the pull a specified tag (base or snapshot) of an image.
identifier is optional, if not provided the user will be asked to select an image.
prune [identifier]
Allows the user the remove untagged versions of an image.
identifier is optional, if not provided the user will be asked to select an image.
stop [identifier]
Stops the currently running container.
identifier is optional, if not provided all identifiers will be pruned.