Amazon-linux based Docker image with AWS CLI, Node.js AWS CDK, Boto3, Docker client and JFrog CLI
149
ARG VERSION_AWS_CLI=2.8.3
##
# DOCKER
##
FROM amazon/aws-cli:${VERSION_AWS_CLI}
ARG VERSION_NODEJS=16
ARG VERSION_AWS_CDK=2.46.0
ARG VERSION_BOTO3=1.24.91
ARG VERSION_DOCKER_CLIENT=19.03.15
ARG VERSION_JFROG_CLI=2.27.1
USER root
RUN yum update -y && yum upgrade -y && \
yum install -y \
sudo \
procps \
git \
unzip \
zip \
gzip \
tar \
wget \
jq \
pip \
openssl \
python3 && \
pip3 install --no-cache-dir --upgrade \
boto3==$VERSION_BOTO3 && \
python3 -m pip --disable-pip-version-check install --no-cache-dir \
pyjwt==1.7.1 \
pyjwt[crypto] \
jwcrypto==0.8
# Install nodejs, update npm, install aws-cdk-lib, typescript and the aws-cdk
RUN curl -fsSL https://rpm.nodesource.com/setup_${VERSION_NODEJS}.x | bash - && \
yum install nodejs -y && \
npm install -g npm && npm install -g npm && \
npm install -g aws-cdk-lib && \
npm install -g typescript && \
npm install -g ts-node && \
corepack enable && \
npm install -g aws-cdk@${VERSION_AWS_CDK}
# Install jfrog
RUN curl -fsSL https://releases.jfrog.io/artifactory/jfrog-cli/v2/${VERSION_JFROG_CLI}/jfrog-cli-linux-amd64/jfrog?bt_package=jfrog-cli-linux-amd64 -o /usr/local/bin/jfrog \
&& chmod +x /usr/local/bin/jfrog
# Install awscli session manager plugin
RUN curl https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm -o "session-manager-plugin.rpm" && \
yum install -y session-manager-plugin.rpm && \
yum clean all && \
rm -rf /var/cache/yum && \
rm session-manager-plugin.rpm
# Install Docker Client
RUN curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-$VERSION_DOCKER_CLIENT.tgz | tar zxvf - --strip 1 -C /usr/bin docker/docker
# Make some useful symlinks that are expected to exist
RUN cd /usr/bin && \
sed -i 's/\/usr\/bin\/python/\/usr\/bin\/python2/g' /usr/bin/yum && \
sed -i 's/\/usr\/bin\/python/\/usr\/bin\/python2/g' /usr/libexec/urlgrabber-ext-down && \
rm -rf pydoc && \
ln -s pydoc3 pydoc && \
rm -rf pip && \
ln -s pip3 pip && \
rm -rf python && \
ln -s python3 python && \
ln -s python3-config python-config
ENV AWS_PAGER=""
ENV AWS_DEFAULT_OUTPUT=json
# Add and switch run user to admin
RUN groupadd -g 1000 -o admin && \
useradd -m -u 1000 -g 1000 -o admin && \
echo 'admin ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
USER admin
WORKDIR /home/admin
# Set up the admin user home
VOLUME ["/home/admin"]
Content type
Image
Digest
sha256:25fe8b495…
Size
696.8 MB
Last updated
almost 4 years ago
docker pull sdesousa/awscli-nodejs-awscdk-boto3-dockerclient-jfrogcli:2.8.3-16-2.46.0-1.24.91-19.03-15-2.27.1