How to Run a Docker Container on Your Local Machine
This quick walkthrough will show you how to dockerize and run an Angular2 app in a container on your local machine, with frequently used Docker commands.
Join the DZone community and get the full member experience.
Join For Freei have been working on a hobby project, nutrition tracking app, to practice the latest continuous integration tools. this post is about dockerizing an angular2 app and on your local machine. i skipped the basic definitions about docker, containers, and ci for the sake of simplicity.
docker commands
frequently used docker commands:
build docker image
docker build -t image-name .
run docker image
docker run -p 80:80 -it image-name
stop all docker containers
docker stop $(docker ps -a -q)
remove all docker containers
docker rm $(docker ps -a -q)
remove all docker images
docker rmi $(docker images -q)
port bindings of a specific container
docker inspect [container-id]
dockerfile
a dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. here's a simple dockerfile that copies the "dist" folder to /usr/share/nginx/html:
from nginx
copy dist /usr/share/nginx/html
expose 80
project structure
the dockerfile should be located in the root of the project. here is an example from my project:
how to run the docker container on your local machine
build
docker build -t angular-webpack .
run
docker run -p 9000:80 -t angular-webpack
this will create a container with the image "angular-webpack" and bind the container’s port 80 to the host machine’s port 9000. after the "docker run -p 9000:80 -it angular-webpack" command, the docker container runs on a linux virtual machine. so we can't run docker natively on windows or a mac. the following properties must be set:
set environment properties
set userprofile = c:\users\xxx --> set your user proile
set docker_cert_path=%userprofile%\.docker\machine\machines\default
set docker_host=tcp://192.168.99.100 --> find this ip in docker quick start terminal
set docker_machine_name=default
set docker_tls_verify=1
test: http://192.168.99.100:9000/index.html
for troubleshooting: https://stackoverflow.com/questions/41208782/docker-localhost-process-not-working-on-windows .
Opinions expressed by DZone contributors are their own.
Comments