From d3ecf7aa885cd796dc5d783466b469bd70cfe913 Mon Sep 17 00:00:00 2001 From: spawnia Date: Sun, 1 Apr 2018 11:48:06 +0200 Subject: [PATCH] Add Dockerfile for building the official CLI container --- Dockerfile | 20 ++++++++++++++++++++ README.md | 14 ++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2a3083b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM golang:1.9 as builder + +RUN go get -u github.com/kardianos/govendor + +WORKDIR /go/src/mikefarah/yq + +COPY . /go/src/mikefarah/yq + +RUN govendor sync + +RUN CGO_ENABLED=0 go build + +# Choose alpine as a base image to make this useful for CI, as many +# CI tools expect an interactive shell inside the container +FROM alpine:3.7 + +COPY --from=builder /go/src/mikefarah/yq/yq /usr/bin/yq +RUN chmod +x /usr/bin/yq + +WORKDIR /workdir diff --git a/README.md b/README.md index 6e693b9..735d6dc 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,20 @@ or, [Download latest binary](https://github.com/mikefarah/yq/releases/latest) or go get github.com/mikefarah/yq ``` +## Run with Docker + +Oneshot use: + +```bash +docker run -v ${PWD}:/workdir mikefarah/yq yq [flags] FILE... +``` + +Run commands interactively: + +```bash +docker run -it -v ${PWD}:/workdir mikefarah/yq sh +``` + ## Features - Written in portable go, so you can download a lovely dependency free binary - Deep read a yaml file with a given path