11FROM amazonlinux:2
22
3- # Install shared dependencies
4- RUN yum -y upgrade \
5- && yum -y install awscli git gzip rsync tar unzip zip \
6- && yum clean all && rm -rf /var/cache/yum
7-
8- # ##
9- # We'll be trying to install stuff slowest to fastest, as a courtesy to people who'll have to build & re-build this.
10- # ##
11-
12- # Install NVM and Node 8+
13- ARG NODE_VERSION=8.16.0
14- ARG NPM_VERSION=6.8.0
15- ENV NVM_DIR=/usr/local/nvm
16- RUN curl -sSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh -o /tmp/install-nvm.sh \
17- && echo "ef7ad1db40c92f348c0461f24983b71ba0ea7d45d4007a36e484270fa7f81fcf /tmp/install-nvm.sh" | sha256sum -c \
18- && mkdir -p ${NVM_DIR} \
19- && bash /tmp/install-nvm.sh \
20- && rm /tmp/install-nvm.sh \
21- && . ${NVM_DIR}/nvm.sh \
22- && nvm install ${NODE_VERSION} \
23- && nvm alias default ${NODE_VERSION} \
24- && nvm use default \
25- && npm -g install npm@^${NPM_VERSION} \
26- && npm set unsafe-perm true
27- ENV NODE_PATH=${NVM_DIR}/versions/node/v${NODE_VERSION}/lib/node_modules \
28- PATH=${PATH}:${NVM_DIR}/versions/node/v${NODE_VERSION}/bin
29- # Install .NET Core & mono
3+ # Install .NET Core, mono & PowerShell
304ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 \
315 DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
326COPY gpg/mono.asc /tmp/mono.asc
337RUN rpm --import "https://packages.microsoft.com/keys/microsoft.asc" \
348 && rpm -Uvh "https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm" \
359 && rpm --import /tmp/mono.asc && rm -f /tmp/mono.asc \
3610 && curl "https://download.mono-project.com/repo/centos6-stable.repo" | tee /etc/yum.repos.d/mono-centos6-stable.repo \
37- && yum -y install dotnet-sdk-2.2 mono-devel \
38- && yum clean all && rm -rf /var/cache/yum
39-
40- # Install Powershell
41- RUN yum install -y powershell \
11+ && yum -y install dotnet-sdk-2.2 mono-devel powershell \
4212 && yum clean all && rm -rf /var/cache/yum
4313
4414# Install Python 3
45- RUN yum -y install python3 python3-pip python3-wheel \
46- && python3 -m pip install --upgrade pip wheel setuptools \
15+ RUN yum -y install python3 python3-pip \
16+ && python3 -m pip install --upgrade pip setuptools wheel twine \
4717 && yum clean all && rm -rf /var/cache/yum
4818
4919# Install Ruby 2.4+
@@ -64,6 +34,32 @@ RUN amazon-linux-extras install docker
6434 && yum clean all && rm -rf /var/cache/yum
6535VOLUME /var/lib/docker
6636
37+ # Install shared dependencies
38+ RUN yum -y install awscli git gzip rsync tar unzip zip \
39+ && yum clean all && rm -rf /var/cache/yum
40+
41+ # Install NVM and Node 8+
42+ ARG NODE_VERSION=8.16.0
43+ ARG NPM_VERSION=6.8.0
44+ ENV NVM_DIR=/usr/local/nvm
45+ RUN curl -sSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh -o /tmp/install-nvm.sh \
46+ && echo "ef7ad1db40c92f348c0461f24983b71ba0ea7d45d4007a36e484270fa7f81fcf /tmp/install-nvm.sh" | sha256sum -c \
47+ && mkdir -p ${NVM_DIR} \
48+ && bash /tmp/install-nvm.sh \
49+ && rm /tmp/install-nvm.sh \
50+ && . ${NVM_DIR}/nvm.sh \
51+ && nvm install ${NODE_VERSION} \
52+ && nvm alias default ${NODE_VERSION} \
53+ && nvm use default \
54+ && npm -g install npm@^${NPM_VERSION} \
55+ && npm set unsafe-perm true
56+ ENV NODE_PATH=${NVM_DIR}/versions/node/v${NODE_VERSION}/lib/node_modules \
57+ PATH=${PATH}:${NVM_DIR}/versions/node/v${NODE_VERSION}/bin
58+
59+ # Upgrade all packages that weren't up-to-date just yet
60+ RUN yum -y upgrade \
61+ && yum clean all && rm -rf /var/cache/yum
62+
6763# Install some configuration
6864COPY ssh_config /root/.ssh/config
6965COPY dockerd-entrypoint.sh /usr/local/bin/
0 commit comments