docker-ruby-node icon indicating copy to clipboard operation
docker-ruby-node copied to clipboard

Use multistage builds

Open radeno opened this issue 7 years ago • 4 comments

It should be easier to maintain and faster to build and deploy new images when we use multistage docker builds.

Any ideas what files we need to copy from official node image?

from /usr/local/bin:

  • node
  • npm -> ../lib/node_modules/npm/bin/npm-cli.js
  • npx -> ../lib/node_modules/npm/bin/npx-cli.js
  • yarn -> /opt/yarn/bin/yarn
  • yarnpkg -> /opt/yarn/bin/yarn

from /usr/local/lib:

  • node_modules

from /opt:

  • yarn

Am i missing something? Anyone with better linux experience. Are there any issues with copied binaries? Any potential performance degradation ?

radeno avatar Jun 11 '18 09:06 radeno

I made first commit for combination 2-10 https://github.com/radeno/docker-ruby-node/tree/multistage/2-10 and build Docker images https://hub.docker.com/r/smikino/ruby-node/tags/

Size is identical (node manual is not copied), but build time is just couple of minutes on Docker Hub.

There are some issues because Docker COPY command can't copy symbolick links. So they must be created but RUN command.

radeno avatar Jun 14 '18 22:06 radeno

I think this is the way to go forward. Would you be interested in creating a PR for this repository @radeno?

Starefossen avatar Aug 02 '18 10:08 Starefossen

@Starefossen i could make PR. no problem for me. But need deeper testing

radeno avatar Aug 03 '18 21:08 radeno

#32 PR

radeno avatar Aug 17 '18 09:08 radeno