Skip to content

Commit ce09b7a

Browse files
Merge pull request #639 from eyalzek/yarn-upgrade
Symlink yarn directory
2 parents a27da9b + 926d446 commit ce09b7a

File tree

6 files changed

+25
-10
lines changed

6 files changed

+25
-10
lines changed

Dockerfile-alpine.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
5858
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
5959
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
6060
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
61-
&& mkdir -p /opt/yarn \
62-
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
61+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
62+
&& ln -s /opt/yarn-v$YARN_VERSION /opt/yarn \
6363
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
6464
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
6565
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \

Dockerfile-slim.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ RUN set -ex \
5858
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
5959
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
6060
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
61-
&& mkdir -p /opt/yarn \
62-
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
61+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
62+
&& ln -s /opt/yarn-v$YARN_VERSION /opt/yarn \
6363
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
6464
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
6565
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz

Dockerfile-stretch.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ RUN set -ex \
5353
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
5454
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
5555
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
56-
&& mkdir -p /opt/yarn \
57-
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
56+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
57+
&& ln -s /opt/yarn-v$YARN_VERSION /opt/yarn \
5858
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
5959
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
6060
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz

Dockerfile-wheezy.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ RUN set -ex \
4949
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
5050
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
5151
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
52-
&& mkdir -p /opt/yarn \
53-
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
52+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
53+
&& ln -s /opt/yarn-v$YARN_VERSION /opt/yarn \
5454
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
5555
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
5656
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz

Dockerfile.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ RUN set -ex \
5353
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
5454
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
5555
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
56-
&& mkdir -p /opt/yarn \
57-
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
56+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
57+
&& ln -s /opt/yarn-v$YARN_VERSION /opt/yarn \
5858
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
5959
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
6060
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz

docs/BestPractices.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,21 @@ ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
2929
ENV PATH=$PATH:/home/node/.npm-global/bin # optionally if you want to run npm global bin without specifying path
3030
```
3131

32+
## Upgrading/downgrading Yarn
33+
34+
If you need to upgrade/downgrade `yarn`, you can do so by issuing the following commands in your `Dockerfile`:
35+
36+
```Dockerfile
37+
FROM node:6
38+
39+
ENV YARN_VERSION 1.5.1
40+
41+
RUN curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
42+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
43+
&& ln -snf /opt/yarn-v$YARN_VERSION /opt/yarn \
44+
&& rm yarn-v$YARN_VERSION.tar.gz
45+
```
46+
3247
## Handling Kernel Signals
3348

3449
Node.js was not designed to run as PID 1 which leads to unexpected behaviour when running inside of Docker. For example, a Node.js process running as PID 1 will not respond to `SIGTERM` (`CTRL-C`) and similar signals. As of Docker 1.13, you can use the `--init` flag to wrap your Node.js process with a [lightweight init system](https://github.com/krallin/tini) that properly handles running as PID 1.

0 commit comments

Comments
 (0)