Dockramp 是一个客户端驱动的 Docker 容器镜像构建工具。
主要特性:
没有上下文上传
高效分层和缓存
更丰富和扩展性更强的 Dockerfile 语法
安装:
project_dir="$HOME/dockramp/src/github.com/jlhawn/dockramp" mkdir -p $project_dir git clone https://github.com/jlhawn/dockramp.git $project_dir GOPATH="$project_dir/Godeps/_workspace:$HOME/dockramp" go build -o /usr/local/bin/dockramp github.com/jlhawn/dockramp/cmd/dockramp
使用:
$ # Executes the Dockerfile in this repository. $ dockramp Step 0: FROM golang:1.4.2 Step 1: MAINTAINER "Josh Hawn <jlhawn@docker.com> (github:jlhawn)" Step 2: ENV PROJ_DIR /go/src/github.com/jlhawn/dockramp Step 3: RUN sh -c "mkdir -p $PROJ_DIR" ---> 0744c1be2f5fb40c355bace595171c180f2a7b2d19ec15e0c92da2fa0c1d7198 Step 4: COPY . /go/src/github.com/jlhawn/dockramp ---> 8a40aa285e0ecc70ba5361085ef2faf0e755a8dbf7f2224b377c5c0035dc22a5 Step 5: RUN sh Input: export GOPATH="$PROJ_DIR/Godeps/_workspace:$GOPATH" go build -o /usr/local/bin/dockramp github.com/jlhawn/dockramp/cmd/dockramp ---> 029e66e2587118f5f6c5176da65ffbde3b501b25136a637c3d700ee369104374 Successfully built 029e66e2587118f5f6c5176da65ffbde3b501b25136a637c3d700ee369104374 You can use the -C flag to specify a directory to use as the build context. You can also specify any Dockerfile with the -f flag (this file does not need to be within the context directory!). dockramp also supports many of the standard options used by docker and uses many of the same environment variables and configuration files used by docker as well. Here is the full list of currently supported arguments: $ dockramp --help Usage of dockramp: --cacert="": Trust certs signed only by this CA --cert="": TLS client certificate --key="": TLS client key --tls=false: Use TLS client cert/key (implied by --tlsverify) --tlsverify=true: Use TLS and verify the remote server certificate -C=".": Build context directory -H="": Docker daemon socket/host to connect to -d=false: enable debug output -f="": Path to Dockerfile -t="": Repository name (and optionally a tag) for the image