forked from ridibooks-docker/gitlab-ci-docker-aws
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
61 lines (55 loc) · 1.89 KB
/
Copy pathDockerfile
File metadata and controls
61 lines (55 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
ARG NODEJS_VERSION
FROM mhart/alpine-node:${NODEJS_VERSION} as node
FROM library/docker:stable
ARG CONTAINER_ARCHITECTURE=linux-amd64
ARG AWS_CLI_VERSION
ARG ECS_CLI_VERSION
ARG EB_CLI_VERSION
ARG S3_CMD_VERSION
ARG DOCKER_COMPOSE_VERSION
ARG CHAMBER_VERSION
# aws-cli uses 'less -R'. However less with R option is not available in alpine linux
ENV PAGER=more
# groff is required by aws-cli
RUN apk add --no-cache -v --virtual .build-deps \
gcc \
libffi-dev \
musl-dev \
openssl-dev \
py-pip \
python2-dev \
&& apk add -v \
bash \
curl \
git \
groff \
jq \
make \
mysql-client \
python \
python3 \
py-setuptools \
zip \
&& pip install --upgrade \
awscli==${AWS_CLI_VERSION} \
awsebcli==${EB_CLI_VERSION} \
s3cmd==${S3_CMD_VERSION} \
docker-compose==${DOCKER_COMPOSE_VERSION} \
python-magic \
pipenv \
&& curl -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-${CONTAINER_ARCHITECTURE}-v${ECS_CLI_VERSION} \
&& chmod +x /usr/local/bin/ecs-cli \
&& curl -Lo /usr/local/bin/chamber https://github.com/segmentio/chamber/releases/download/v${CHAMBER_VERSION}/chamber-v${CHAMBER_VERSION}-linux-amd64 \
&& chmod +x /usr/local/bin/chamber \
&& rm -r /root/.cache \
&& apk del -v .build-deps \
&& rm /var/cache/apk/*
# Install Node.js
# https://github.com/mhart/alpine-node#example-dockerfile-for-your-own-nodejs-project
COPY --from=node /usr/lib/libgcc* /usr/lib/libstdc* /usr/lib/
COPY --from=node /usr/lib/node_modules /usr/lib/node_modules
COPY --from=node /usr/bin/node /usr/bin/
COPY --from=node /usr/local/share/yarn /usr/local/share/yarn
RUN ln -s /usr/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
&& ln -s /usr/local/share/yarn/bin/yarn /usr/local/bin/ \
&& ln -s /usr/local/share/yarn/bin/yarnpkg /usr/local/bin/