Port streamlines the management of Docker images and containers, empowering you to:
βΆοΈ Run containers effortlessly with simple commands.- βΉοΈ Stop running containers seamlessly.
- π List all containers to keep track of their status.
- ποΈ Remove unwanted containers to free up resources.
- π Reset containers to their original state for reusability.
- πΎ Save container states for future use or backups.
All this without the hassle of memorizing complex Docker CLI commands, even when working with remote Docker engines.
scoop bucket add maple 'https://github.com/kevinboss/maple.git'
scoop install port
winget install kevinboss.port
-
π Download the latest release from the Releases Page.
-
π οΈ Add the folder to your system PATH:
$Env:PATH += "C:\Path\To\Folder"
Configure Port by creating a config.yml
file:
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.
-
βΆοΈ Run an Image:Run a specific tag (base or snapshot) of an image:
port run [identifier] -r
identifier
(optional): If omitted, a prompt will request image selection.-r
(reset) (optional): Resets the existing container for the specified image, if applicable.
-
βΉοΈ Stop a Container:
Stop a running container:
port stop [identifier]
identifier
(optional): Specifies the container to stop. If omitted, operates on the current container.
-
π List Images:
Display all images and their tags:
port list [identifier]
identifier
(optional): Limits the listing to images under the given identifier. Without it, all images are listed.
-
ποΈ Remove an Image:
Delete a specific image tag (base, snapshot, or untagged):
port remove -r [identifier]
identifier
(optional): If omitted, a prompt will request image selection.-r
(recursive) (optional): Automatically deletes child images. Without this, an error is raised if the image has dependents.
-
π Reset a Container:
Stop, remove, and recreate the container using its original image:
port reset [identifier]
identifier
(optional): If omitted, a prompt will request container selection.
-
πΎ Commit a Container:
Generate an image from the currently active container:
port commit -t [identifier]
identifier
(optional): If omitted, a prompt will request container selection.-t
(tag) (optional): Specifies the tag name. Defaults to the current date-time if not provided.-o
(overwrite) (optional): Re-uses the running image and replaces the existing one.
-
π₯ Pull an Image:
Download a specific tag (base or snapshot) of an image:
port pull [identifier]
identifier
(optional): If omitted, a prompt will request image selection.
-
π οΈ Prune Images:
Remove untagged versions of an image:
port prune [identifier]
identifier
(optional): If omitted, a prompt will request image selection.
To get Unicode support in Powershell, add:
[console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
to your $profile
.
We welcome contributions to improve Port! Please follow the steps below:
- π΄ Fork the repository.
- π± Create a new branch for your feature or bug fix.
- πΎ Commit your changes.
- π Submit a pull request.
This project is licensed under the GPL-3.0 License.