Public Repository

Last pushed: 2 months ago
Short Description
Ember-CLI + Node.js (Current & LTS) + Yarn
Full Description

Ember-CLI + Node.js (Current & LTS) + Yarn

A Docker image for creating ambitious web applications


Image

This image has everything you need to work with Ember.js:

All perfectly versioned, up-to-date and working.

Dockerfiles and tags

Ember-CLI v2.15.1

  • w/Node.js v8.4.0 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.15.1-node_8.4.0
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0
    • Google Chrome stable
  • w/Node.js v6.11.3 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.15.1-node_6.11.3
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0
    • Google Chrome stable

Ember-CLI v2.15.0

  • w/Node.js v8.4.0 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.15.0-node_8.4.0
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0
    • Google Chrome stable
  • w/Node.js v6.11.2 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.15.0-node_6.11.2
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0
    • Google Chrome stable

Ember-CLI v2.14.2

  • w/Node.js v8.2.1 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.14.2-node_8.2.1
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0
  • w/Node.js v6.11.2 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.14.2-node_6.11.2
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0

Ember-CLI v2.14.1

  • w/Node.js v8.1.2 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.14.1-node_8.1.2
    • Yarn v0.24.4
    • PhantomJS v2.1.14
    • Watchman v4.7.0
  • w/Node.js v6.11.2 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.14.1-node_6.11.2
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0

Ember-CLI v2.14.0

  • w/Node.js v8.1.2 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.14.0-node_8.1.2
    • Yarn v0.24.4
    • PhantomJS v2.1.14
    • Watchman v4.7.0
  • w/Node.js v6.11.2 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.14.0-node_6.11.2
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0

Ember-CLI v2.13.3

  • w/Node.js v8.1.2 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.13.3-node_8.1.2
    • Yarn v0.24.4
    • PhantomJS v2.1.14
    • Watchman v4.7.0
  • w/Node.js v6.11.2 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.13.3-node_6.11.2
    • Yarn v0.27.5
    • PhantomJS v2.1.14
    • Watchman v4.7.0

Ember-CLI v2.13.2

  • w/Node.js v7.10.0 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.13.2-node_7.10.0
    • Yarn v0.24.4
    • PhantomJS v2.1.14
    • Watchman v4.7.0
  • w/Node.js v6.10.3 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.13.2-node_6.10.3
    • Yarn v0.24.4
    • PhantomJS v2.1.14
    • Watchman v4.7.0

Ember-CLI v2.13.1

  • w/Node.js v7.10.0 | Dockerfile
    • docker pull sergiolepore/ember-cli:2.13.1-node_7.10.0
    • Yarn v0.24.4
    • PhantomJS v2.1.14
    • Watchman v4.7.0
  • w/Node.js v6.10.3 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.13.1-node_6.10.3
    • Yarn v0.24.4
    • PhantomJS v2.1.14
    • Watchman v4.7.0

Ember-CLI v2.12.3

  • w/Node.js v6.10.3 (LTS) | Dockerfile
    • docker pull sergiolepore/ember-cli:2.12.3-node_6.10.3
    • Yarn v0.24.4
    • Bower v1.8.0
    • PhantomJS v2.1.14
    • Watchman v4.7.0

Usage

  • docker pull sergiolepore/ember-cli:x.x.x-node_x.x.x
  • Container working directory is /myapp, so you might want to mount a volume there (or override it)
  • Port 49153 is exposed (livereload)
  • Port 4200 is exposed (app)
  • ember server is the default command to be run when executing the image

docker run examples

# ember blueprints
$ docker run -it --rm \
  -v /my/project/directory:/myapp \
  sergiolepore/ember-cli:2.15.1-node_8.4.0 \
  ember init --yarn

$ docker run -it --rm \
  -v /my/project/directory:/myapp \
  sergiolepore/ember-cli:2.15.1-node_8.4.0 \
  ember g route hamsters
# yarn
$ docker run -it --rm \
  -v /my/project/directory:/myapp \
  sergiolepore/ember-cli:2.15.1-node_8.4.0 \
  yarn add something@1.2.3
# server
$ docker run -it \
  -v /my/project/directory:/myapp \
  -p 4200:4200 \
  -p 49153:49153 \
  sergiolepore/ember-cli:2.15.1-node_8.4.0
# working on Windows?
$ docker run -it \
  -v /my/project/directory:/myapp \
  -p 4200:4200 \
  -p 49153:49153 \
  sergiolepore/ember-cli:2.15.1-node_8.4.0 \
  ember server --watcher polling
# bash shell
$ docker run -it \
  -v /my/project/directory:/myapp \
  -p 4200:4200 \
  -p 49153:49153 \
  sergiolepore/ember-cli:2.15.1-node_8.4.0 \
  bash

root@container-id:/myapp# ember init --yarn
root@container-id:/myapp# ember g route hamsters
root@container-id:/myapp# yarn add something@1.2.3
root@container-id:/myapp# ember server

docker-compose examples

  • A docker-compose.yml file in /my/project/directory
services:
  emberapp:
    image: sergiolepore/ember-cli:2.15.1-node_8.4.0
    ports:
      - "4200:4200"
      - "49153:49153"
    volumes:
      - .:/myapp
$ docker-compose run --rm emberapp ember init --yarn
$ docker-compose up

FAQ

How do you keep up with new versions?

Here's what I've been doing: each time a final release of Ember-CLI gets published, I check for the latest LTS and Current Node.js versions and I generate a new Dockerfile based on that. This ensures there will always be an up-to-date image containing the latest security patches and bugfixes from both projects. Alongside those changes, I update all dependencies to their latest version.

I'll try to keep parity between Node.js and Ember.js LTS versions for as long as possible (Ember 2.12.x - Node 6.x, for example).

What happens with outdated Node.js versions between LTS releases?

Sorry, but when a major version of Node.js stops getting updates, I stop supporting it as well. If you think you're stuck on one of those versions, please consider upgrading to, at least, the next available LTS.

You said this image has everything I need to work with Ember.js, but where's Bower?

Bower is now an optional dependency since Ember-CLI 2.13, so I decided to exclude it from my v2.13+ images. If you still need it, I recommend you to create your own custom image:

FROM sergiolepore/ember-cli:x.x.x-node_x.x.x

RUN yarn global add bower@x.x.x

### ...

Where's the latest tag?

Sorry, but I don't believe in "latest" things :grin:. No, seriously. Be aware of the version you're working with in order to avoid headaches. Always. 🦌

Debian Jessie is way too heavy, where's the Alpine version?

Working on it. Stay tuned.

Docker Pull Command
Owner
sergiolepore