From cdbfdd8da86be37e9150f55982c291f4a02e2ecb Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Wed, 28 Mar 2018 17:15:36 -0700 Subject: protoc-artifacts: Use ENTRYPOINT to enable devtoolset-1.1 ENTRYPOINT is used even when other commands are specified on the "docker run" command line. This allows running one-off commands in the docker image (especially combined with volume binding with the host) with the correct environment variables. --- protoc-artifacts/Dockerfile | 4 +++- protoc-artifacts/README.md | 2 +- protoc-artifacts/scl-enable-devtoolset.sh | 13 +++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100755 protoc-artifacts/scl-enable-devtoolset.sh (limited to 'protoc-artifacts') diff --git a/protoc-artifacts/Dockerfile b/protoc-artifacts/Dockerfile index 26446937..c346586b 100644 --- a/protoc-artifacts/Dockerfile +++ b/protoc-artifacts/Dockerfile @@ -39,5 +39,7 @@ RUN wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum devtoolset-1.1-libstdc++-devel.i686 && \ yum clean all +COPY scl-enable-devtoolset.sh /var/local/ + # Start in devtoolset environment that uses GCC 4.7 -CMD ["scl", "enable", "devtoolset-1.1", "bash"] +ENTRYPOINT ["/var/local/scl-enable-devtoolset.sh"] diff --git a/protoc-artifacts/README.md b/protoc-artifacts/README.md index d11cde5d..dcaec987 100644 --- a/protoc-artifacts/README.md +++ b/protoc-artifacts/README.md @@ -140,7 +140,7 @@ $ docker build -t protoc-artifacts . To run the image: ``` -$ docker run -it --rm=true protoc-artifacts +$ docker run -it --rm=true protoc-artifacts bash ``` To checkout protobuf (run within the container): diff --git a/protoc-artifacts/scl-enable-devtoolset.sh b/protoc-artifacts/scl-enable-devtoolset.sh new file mode 100755 index 00000000..8d9585ea --- /dev/null +++ b/protoc-artifacts/scl-enable-devtoolset.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -eu -o pipefail + +quote() { + local arg + for arg in "$@"; do + printf "'" + printf "%s" "$arg" | sed -e "s/'/'\\\\''/g" + printf "' " + done +} + +exec scl enable devtoolset-1.1 "$(quote "$@")" -- cgit v1.2.3