Sign inSign up

sdesousa/awscli-nodejs-awscdk-boto3-dockerclient-jfrogcli

By sdesousa

•Updated almost 4 years ago

Amazon-linux based Docker image with AWS CLI, Node.js AWS CDK, Boto3, Docker client and JFrog CLI

Image
0

149

sdesousa/awscli-nodejs-awscdk-boto3-dockerclient-jfrogcli repository overview

⁠Dockerfile

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"]

Tag summary

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