Docker image for Ember CLI, PhantomJS and Bower command-line tools
This is a Docker image for Ember, PhantomJS and Bower, based on an image intended for use in the fashion described on @dylanlindgren's series of blog articles about using Docker and the Laravel PHP framework together (Docker for the Laravel framework, and Beautiful Laravel Development with Docker & Fig).
An automated build for this repo is available on the Docker Hub.
- Building the image
Ember, PhantomJS and Bower commands should be run within the container as the current user. Get the user ID of the current user using the following command:
$ id -u 1000
In the following commands, replace
<UID> with whatever figure was returned (e.g.
1000 in the example above).
Running an Ember CLI command in the current directory:
$ sudo docker run --rm -p 4200:4200 -v $(pwd):/data -w /data \ -u <UID> -e HOME=/data sebp/ember *your Ember CLI commands here*
Running a PhantomJS command in the current directory:
$ sudo docker run --rm -v $(pwd):/data -w /data \ -u <UID> --entrypoint phantomjs sebp/ember *your PhantomJS commands here*
Running a Bower command in the current directory:
$ sudo docker run --rm -v $(pwd):/data -w /data \ -u <UID> --entrypoint bower sebp/ember *your Bower commands here*
For the sake of sanity, it is strongly recommended to create aliases, e.g.:
alias dember='sudo docker run ... sebp/ember' alias dphantomjs='sudo docker run ... sebp/phantom' alias dbower='sudo docker run ... sebp/bower'
To avoid recreating these aliases each time you start a new shell session, either add these lines to one of your shell's start-up files (e.g.
~/.bashrc for Bash), or create a shell script with these three lines (e.g.
~/ember-aliases.sh) and source it (i.e.
source ~/ember-aliases.sh or .
~/ember/aliases.sh) when you need to use the aliases.
Building the image
To rebuild this image with Docker Compose, use the supplied
docker-compose.yml, and run:
$ sudo docker-compose build
This image works well with the below related images.