rocketizer

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2014 License: MIT Imports: 3 Imported by: 0

README

rocketizer Build Status

Painless Dockerfile transformation to Rocket containers.

Creates ACI Rocket containers using as source a Dockerfile, the ENTRYPOINT, CMD, VOLUME, ENV and EXPOSE expressions are used to create the manifest and the paths from COPY and ADD are compress into the ACI container in the rootfs directory. Other expressions are ignored.

Based on the hype of this days around containers has been carry to me build this small tool. Maybe is now is useless but maybe someday or in some point could become usefull for someone.

Warning: Since the FROM expresion is ignored, the generated containers are useless when the binaries are not copy with a ADD or COPY expressions and statically compiled

Installation

wget https://github.com/mcuadros/rocketizer/releases/download/v0.1.1/rocketizer_v0.1.1_linux_amd64.tar.gz
tar -xvzf rocketizer_v0.1.1_linux_amd64.tar.gz
cp rocketizer_v0.1.1_linux_amd64/rocketizer /usr/local/bin/

browse the releases section to see other archs

Usage

Based on the following Dockerfile:

FROM golang

# Copy outyet command inside the container.
ADD outyet /go/bin/outyet

# Run the outyet command by default when the container starts.
ENTRYPOINT /go/bin/outyet

# Document that the service listens on port 8080.
EXPOSE 8080

The following command generate a ACI container from the previous Dockfile:

./rocketizer convert --name outyet --version 1.0.0
Building outyet<1.0.0>
Parsing Dockerfile Dockerfile
Compressing files... OK
New ACI created outyet-v1.0.0-linux-amd64.aci

Create a outyet-v1.0.0-linux-amd64.aci container with the following contents:

rootfs/go/bin/outyet
app

The app manifest contains:

{
  "acVersion": "1.0.0",
  "acKind": "AppManifest",
  "name": "outyet",
  "version": "1.0.0",
  "os": "linux",
  "arch": "amd64",
  "exec": [
    "\/go\/bin\/outyet"
  ],
  "eventHandlers": null,
  "user": "",
  "group": "",
  "environment": null,
  "mountPoints": null,
  "ports": [
    {
      "name": "8080",
      "protocol": "tcp",
      "port": 8080,
      "socketActivated": false
    }
  ],
  "isolators": null,
  "annotations": null
}

License

MIT, see LICENSE

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL