DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • A Guide for Deploying .NET 10 Applications Using Docker's New Workflow
  • A Beginner's Guide to Essential Commands to Fix Container Setup Issues
  • Docker Offload: One of the Best Features for AI Workloads
  • A Guide to Container Runtimes

Trending

  • Has AI-Generated SQL Impacted Data Quality? We Reviewed 1,000 Incidents
  • Why SAP S/4HANA Landscape Design Impacts Cloud TCO More Than Compute Costs
  • Context Is the New Schema
  • Code Quality Had 5 Pillars. AI Broke 3 and Created 2 We Can’t Measure
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. How to Run a Docker Container on Your Local Machine

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.

By 
Suleyman Yildirim user avatar
Suleyman Yildirim
·
Sep. 04, 17 · Tutorial
Likes (4)
Comment
Save
Tweet
Share
186.8K Views

Join the DZone community and get the full member experience.

Join For Free

I have been working on a hobby project, a nutrition tracking app, to practice the latest continuous integration tools. This post is about dockerizing an angular2 app 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

Docker (software) Container

Opinions expressed by DZone contributors are their own.

Related

  • A Guide for Deploying .NET 10 Applications Using Docker's New Workflow
  • A Beginner's Guide to Essential Commands to Fix Container Setup Issues
  • Docker Offload: One of the Best Features for AI Workloads
  • A Guide to Container Runtimes

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook