The command line tool for building Shuttl files!
Shuttl enables you to build docker images with ease! The shuttl file is an abstraction on top of the docker file and allows you to use a single file to define multiple types of images
To install Shuttl, simply run sudo gem install shuttl --no-user-install
. Then run shuttl install
Using Shuttl is easy! It supports all Docker file commands, with minor differences
For example, this Dockerfile:
FROM ubuntu
RUN apt install vim
becomes:
FROM 'ubuntu'
RUN 'apt install vim'
Similar to Docker's FROM
, Shuttl has an EXTENDS
keyword. Unlike FROM
, EXTENDS
doesn't define multiple bild stages, meaning you don't have to worry about copying files around.
This may result in larger images, but it also allows for easier extending of files.
Shuttl also supports different image types. using the ON
keyword, you can build different images for different build stages.
For example:
FROM 'ubuntu'
ON `dev` do
RUN 'echo "Doing this in develop!"'
end
ON 'production' do
RUN 'echo "Doing this in Production!"'
end
Shuttl will build two different images depending on what stage you build. shuttl build --stage='dev'
would result in this dockerfile:
FROM ubuntu
RUN echo "Doing this in develop!"
while shuttl build --stage='PRODUCTION'
makes this dockerfile:
FROM ubuntu
RUN echo "Doing this in Production!"
This runs a command on container start. Prefer this over entrypoint. This is run before ONRUN
commands
Runs a command on container start. This is run after ONSTART commands
Adds a local directory to the Image as a volume. The volume is automatically attached on start.
Usage: ATTACH <local path> <container_point>
Builds the image using the Shuttlfile
--stage=STAGE: The stage to build --file=FILE: The file to build
Starts the image
Stops the image
Runs a bash instance inside the container.
Runs a command inside the container
To recieve updates, discuss ideas, or just to talk join our mailing list at https://groups.google.com/a/shuttl.io/forum/?hl=en#!forum/shuttl-tools/new or email us at [email protected]