Hello World from OSS Silicon Valley


HowToUse/Docker/1.7

#contents

*Prerequisite [#fcc226aa]
-Ubuntu Server installation (You can refer from [[HowToUse/UbuntuServer/14.04]])
or
-Amazon Web Service (Amazon Linux)


*Install&Setup [#ae0dd8b4]
**Ubuntu [#l886fc8b]
:Step.1|
Newer dockers than 1.7.1 are registered in apt repository, and you need to execute the following commands.

 $ sudo apt-get update
 $ sudo apt-get install apt-transport-https ca-certificates
 $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

:Step.2|
Add source list for docker's apt repository.

 $ sudo vi /etc/apt/sources.list.d/docker.list


 deb https://apt.dockerproject.org/repo ubuntu-trusty main

:Step.3|
Install docker.

 $ sudo apt-get install docker.io

:Step.4|
Launch docker automatically

 $ sudo update-rc.d docker.io defaults

:Step.5|
Check the docker version

 $ sudo ln -s /usr/bin/docker.io /usr/local/bin/docker
 $ sudo docker version


**Amazon Web Service (Amazon Linux) [#pbd8bb7b]

TBD

*HowToUse [#e2696c5d]
**Download Docker image from Docker Hub Registry [#l70df899]
:Step.1|
 $ sudo docker pull <Docker Image Name>:<Tag>

Example
 $ sudo docker pull ubuntu:latest

**Launch Docker [#hb72482f]

:Step.1|
Run Docker Image and create Docker Container.

 $ sudo docker run -p 0.0.0.0:<port Num>:<Port Num> -it --name <Docker Container> <Docker Image> <Shell>

Example
 $ sudo docker run -p 0.0.0.0:80:80 -it --name ubuntu_work ubuntu /bin/bash

If you want to launch Docker process in background, you can use the following command.

 $ sudo docker run -p 0.0.0.0:<port Num>:<Port Num> -d -it --name <Docker Container> <Docker Image> /usr/sbin/sshd -D
 

:Step.2|
Install additional modules.

Example
 # apt-get install -y nginx

:Step.3|
Push Ctrl-d to shutdown Docker process.

:Step.4|
Check the new Docker Container has been created.

 $ sudo docker ps -a


**Commit Docker image [#nda06f3a]

:Step.1|
Create new Docker image merging with Docker Container.

 $ sudo docker commit <Docker Container> <Docker Image>

Example
 $ sudo docker commit ubuntu_work syatsuzuka/nginx

:Step.2|
Check the new Docker image has been created.

 $ sudo docker images

:Step.3|
Delete unnecessary Docker Container and Image.

 $ sudo docker rm <Container ID>
 $ sudo docker rmi <Image ID>


**Create Docker Image with Dockerfile [#k846cb1d]
:Step.1|
Create Docker file.
 
 $ mkdir nginx
 $ vi Dockerfile

 FROM ubuntu
 RUN apt-get install -y nginx

:Step.2|
Create Docker image.

 $ sudo docker build -t <Docker Image>:<Tag> .

Example
 $ sudo docker build -t syatsuzuka/nginx:1.0 .

:Step.3|
Check the Docker image.

 $ sudo docker images

**Upload Docker Image into Docker Hub [#bc3f8e35]
:Step.1|
Sign up Docker Hub.

:Step.2|
Login Docker Hub.

 $ sudo docker login

:Step.3|
Push the Docker Image into Docker Hub.

 $ sudo docker push <Docker Image>

Example
 $ sudo docker push syatsuzuka/nginx



*Author [#t9a6b997]
S.Yatsuzuka