View Source Pots
Some wrapper functionality around generating Dockerfiles and managing them for an elixir project. This project is still very much in the early stages so use at your own risk.
ATTENTION: While this has been written to support docker
, podman
, and nerdctl
it has only been tested with podman
currently. Test the other two is still a
TODO.
TODO
- [ ] Generate some kind of configuration for Pots.
- [ ] Allow selection of container runtime in config.
- [ ] Provide better defaults for the Dockerfile.
- [ ] Config options for how the containers are run. (e.g. a list of flags such as
--rm
,-it
, ect.) - [ ] Test with both
docker
andnerdctl
Requirements
You will need one of the following container run times;
Installation
If available in Hex, the package can be installed
by adding pots
to your list of dependencies in mix.exs
:
def deps do
[
{:pots, "~> 0.1.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/pots.
Tasks
This task will generate a Dockerfile to be used by Pots. This is just a regular Dockerfile so you don't have to run it specifically using Pots.
This will build the Dockerfile generated from
mix pot.new
. If you haven't generated a file yet it will runmix pot.new
This will start the container. It defaults to
-d
(detached mode). You may also pass in-i
for interactive mode. Be aware, all containers are started with--rm
so they will be discarded once shut down.
This will remove files, images, and containers created by Pots. You may pass
--files
to remove Dockerfiles,--images
to remove images, and--containers
to stop (and remove) containers.
This will simply output information about the files/images/containers generated by pots using your container runtime.