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.
- Usage
- Building the image
- Notes
- About
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.
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.
Adapted by Sébastien Pujadas from @dylanlindgren's Docker image for Bower, released under the MIT license.