- Installing Docker on Mac OS X
 
https://docs.docker.com/installation/mac/
- boot2docker start
 
$ boot2docker start
- attach ( Attach to a running container )
 
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
adead7a08f15        ubuntu:14.04        /bin/bash           About an hour ago   Up 27 minutes                           myubuntu            
$ docker attach myubuntu
root@adead7a08f15:/# 
- build ( Build an image from a Dockerfile )
 
$ vim Dockerfile
FROM centos:centos6
MAINTAINER Dongri Jin
RUN yum update -y && \
    rpm --import http://nginx.org/keys/nginx_signing.key && \
    yum install -y http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm && \
    yum install -y nginx
EXPOSE 80
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
$ docker build -t ngix .
$ docker images
$ docker run -d -p 80:80 nginx
$ VBoxManage controlvm "boot2docker-vm" natpf1 "nginx,tcp,127.0.0.1,8080,,80"
$ open http://localhost:8080
- commit ( Create a new image from a container's changes )
 
$ docker run -i -t -d nginx                       
ea21748dddd379d8959373cd366b1eb10f4193a68c530c3539fe110b0531bd22
$ docker  docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
ea21748dddd3        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 3 seconds        80/tcp              tender_fermi        
$ docker commit ea21748dddd3 my-nginx
69f023fe647655f984afd0617dd1e65d8b9a2e5e551bac32af5e6436bfe3ac70
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
my-nginx            latest              69f023fe6476        About an hour ago   267.8 MB
nginx               latest              9bc094d3c806        About an hour ago   267.8 MB
- cp ( Copy files/folders from a container's filesystem to the host path )
 
$ docker run -d nginx
69e4211b565349631845e984a5914688a250671764c98c959236fb53d059a709
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
69e4211b5653        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 1 seconds        80/tcp              distracted_curie    
$ docker cp 69e4211b5653:/usr/share/nginx/html/index.html ./
$ ls -l
total 16
-rw-r--r--  1 dongri  staff  332 Nov 29 17:41 Dockerfile
-rw-r--r--  1 dongri  staff  612 Sep 16 22:57 index.html
- diff ( Inspect changes on a container's filesystem )
 
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
69e4211b5653        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 3 minutes        80/tcp              distracted_curie    
$ docker diff 69e4211b5653
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
A /var/cache/nginx/uwsgi_temp
C /var/run
A /var/run/nginx.pid
- events ( Get real time events from the server )
 
$ docker events
[2014-11-29 17:09:17 +0900 JST] d9860be76a657a: (from my-nginx:latest) create
[2014-11-29 17:09:17 +0900 JST] d9860be76a657a: (from my-nginx:latest) start
[2014-11-29 17:09:17 +0900 JST] d9860be76a657a: (from my-nginx:latest) die
[2014-11-29 17:09:42 +0900 JST] 94d8ff9c9b006b: (from nginx:latest) create
[2014-11-29 17:09:42 +0900 JST] 94d8ff9c9b006b: (from nginx:latest) start
[2014-11-29 17:10:19 +0900 JST] 94d8ff9c9b006b: (from nginx:latest) die
- export ( Stream the contents of a container as a tar archive)
 
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
69e4211b5653        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 9 minutes        80/tcp              distracted_curie    
$ docker export 69e4211b5653 > nginx.tar
- history ( Show the history of an image )
 
$ docker history nginx
IMAGE               CREATED             CREATED BY                                      SIZE
9bc094d3c806        About an hour ago   /bin/sh -c #(nop) ENTRYPOINT [/usr/sbin/nginx   0 B
bc8b862f52f2        About an hour ago   /bin/sh -c #(nop) EXPOSE map[80/tcp:{}]         0 B
6a7c1a5d6e92        About an hour ago   /bin/sh -c yum update -y &&     rpm --import    52.02 MB
7becd8731a8d        About an hour ago   /bin/sh -c #(nop) MAINTAINER Dongri Jin         0 B
70441cac1ed5        3 weeks ago         /bin/sh -c #(nop) ADD file:87e3d5074ec1720805   215.8 MB
5b12ef8fd570        8 weeks ago         /bin/sh -c #(nop) MAINTAINER The CentOS Proje   0 B
511136ea3c5a        17 months ago                                                       0 B
$  
- images ( List images )
 
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
my-nginx            latest              69f023fe6476        About an hour ago   267.8 MB
nginx               latest              9bc094d3c806        About an hour ago   267.8 MB
centos              centos6             70441cac1ed5        3 weeks ago         215.8 MB
ubuntu              14.04               c4ff7513909d        3 months ago        225.4 MB
ubuntu              latest              c4ff7513909d        3 months ago        225.4 MB
- import ( Create a new filesystem image from the contents of a tarball )
 
$ cat nginx.tar | docker import - nginx:import                                                                                                                                                    254714ba37221092c47f22a886c7f7497ed65da53d42cf24a4f44e0054305af4
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nginx               import              254714ba3722        About an hour ago   242.8 MB
my-nginx            latest              69f023fe6476        About an hour ago   267.8 MB
nginx               latest              9bc094d3c806        About an hour ago   267.8 MB
- info ( Display system-wide information )
 
$ docker info
- inspect ( Return low-level information on a container )
 
$ docker inspect 69e4211b5653
- kill ( Kill a running container )
 
$ docker ps                        
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
69e4211b5653        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 23 minutes       80/tcp              distracted_curie    
$ docker kill 69e4211b5653
69e4211b5653
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
- load ( Load an image from a tar archive )
 
$ docker load < nginx.tar
- login ( Register or log in to the Docker registry server )
 
$ docker login
Username: dongri 
Password: ***
Email: ***@gmail.com
Login Succeeded
$ docker pull ubuntu
- logs ( Fetch the logs of a container )
 
$ docker logs 108233ba9a1d
- port ( Lookup the public-facing port that is NAT-ed to PRIVATE_PORT )
 
$ docker run -d -p 80:80 nginx
108233ba9a1df0aa199a8392d052f3c0cd8e7929bdeff6d5fa52ac47a75aa603
$ docker port 108233ba9a1d 80
0.0.0.0:80
- pause ( Pause all processes within a container )
 
$ docker pause 108233ba9a1d
108233ba9a1d
$ open http://localhost:8080
- ps ( List containers )
 
$ docker ps
$ docker ps -a
$ docker ps -a -q
- pull ( Pull an image or a repository from a Docker registry server )
 
$ docker pull golang:1.4rc1
- push ( Push an image or a repository to a Docker registry server )
 
$ docker run -i -t -d golang
921dc8b1555af7507f8669883724047b4cc114be0681a07f86def
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                   PORTS                NAMES
16f79ec35b99        golang:latest       /bin/bash              About an hour ago   Up 4 seconds                                  focused_newton      
108233ba9a1d        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 15 minutes (Paused)   0.0.0.0:80->80/tcp   nostalgic_almeida   
$ docker commit 16f79ec35b99 dongri/golang
da5a0042ad9ac478c38fc743c8f981f292a9aefd41ac54276a6617c319719ad1
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dongri/golang       latest              da5a0042ad9a        About an hour ago   448 MB
nginx               import              254714ba3722        About an hour ago   242.8 MB
my-nginx            latest              69f023fe6476        2 hours ago         267.8 MB
nginx               latest              9bc094d3c806        2 hours ago         267.8 MB
golang              1.4rc1              a9e27473d0f8        2 days ago          467.7 MB
golang              latest              ebd3fd90ae2e        2 days ago          448 MB
$ docker push dongri/golang
The push refers to a repository [dongri/golang] (len: 1)
Sending image list
Pushing repository dongri/golang (1 tags)
511136ea3c5a: Image already pushed, skipping 
36fd425d7d8a: Image already pushed, skipping 
aaabd2b41e22: Image already pushed, skipping 
cd9d7733886c: Image already pushed, skipp
da5a0042ad9a: Image successfully pushed 
Pushing tag for rev [da5a0042ad9a] on {https://cdn-registry-1.docker.io/v1/repositories/dongri/golang/tags/latest}
- restart ( Restart a running container )
 
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                   PORTS                NAMES
16f79ec35b99        golang:latest       /bin/bash              About an hour ago   Up 3 minutes                                  focused_newton      
108233ba9a1d        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 18 minutes (Paused)   0.0.0.0:80->80/tcp   nostalgic_almeida   
$ docker restart 16f79ec35b99
16f79ec35b99
- rm ( Remove one or more containers )
 
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS
16f79ec35b99        golang:latest       /bin/bash              About an hour ago   Up 55 seconds
714a086c9e4d        golang:latest       /bin/bash              About an hour ago   Exited (1) 4 minutes ago
$ docker rm 714a086c9e4d
714a086c9e4d
$ docker ps -a          
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS
16f79ec35b99        golang:latest       /bin/bash              About an hour ago   Up About a minute
- rmi ( Remove one or more images )
 
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dongri/golang       latest              da5a0042ad9a        About an hour ago   448 MB
nginx               import              254714ba3722        About an hour ago   242.8 MB
my-nginx            latest              69f023fe6476        2 hours ago         267.8 MB
$ docker rmi 69f023fe6476
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dongri/golang       latest              da5a0042ad9a        About an hour ago   448 MB
nginx               import              254714ba3722        About an hour ago   242.8 MB
- run ( Run a command in a new container )
 
$ docker run -d nginx
- save ( Save an image to a tar archive )
 
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dongri/golang       latest              da5a0042ad9a        About an hour ago   448 MB
nginx               import              254714ba3722        About an hour ago   242.8 MB
$ docker save nginx > mynginx.tar
- search ( Search for an image on the Docker Hub )
 
$ docker search dongri
NAME            DESCRIPTION   STARS     OFFICIAL   AUTOMATED
dongri/coreos                 2                    
dongri/node                   1                    
dongri/nginx                  0                    
dongri/redis                  0                    
dongri/golang                 0 
- start ( Start a stopped container )
 
docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                           PORTS
108233ba9a1d        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 27 minutes (Paused)           0.0.0.0:80->80/tcp
269367b4bd87        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Exited (-1) 28 minutes ago
$ docker start 269367b4bd87
269367b4bd87
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                   PORTS                NAMES
108233ba9a1d        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 27 minutes (Paused)   0.0.0.0:80->80/tcp   nostalgic_almeida   
269367b4bd87        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 2 seconds             80/tcp               kickass_perlman     
- stop ( Stop a running container )
 
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                   PORTS                NAMES
108233ba9a1d        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 27 minutes (Paused)   0.0.0.0:80->80/tcp   nostalgic_almeida   
269367b4bd87        nginx:latest        /usr/sbin/nginx -g '   About an hour ago   Up 2 seconds             80/tcp               kickass_perlman     
$ docker stop 269367b4bd87
- tag ( Tag an image into a repository )
 
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dongri/golang       latest              da5a0042ad9a        About an hour ago   448 MB
nginx               import              254714ba3722        About an hour ago   242.8 MB
$ docker tag 254714ba3722 nginx:export
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dongri/golang       latest              da5a0042ad9a        About an hour ago   448 MB
nginx               import              254714ba3722        About an hour ago   242.8 MB
nginx               export              254714ba3722        About an hour ago   242.8 MB
- top ( Lookup the running processes of a container )
 
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                   PORTS                NAMES
108233ba9a1d        9bc094d3c806        /usr/sbin/nginx -g '   About an hour ago   Up 38 minutes (Paused)   0.0.0.0:80->80/tcp   nostalgic_almeida   
$ docker top 108233ba9a1d
PID                 USER                COMMAND
1658                root                nginx: master process /usr/sbin/nginx -g daemon off;
1668                499                 nginx: worker process
- unpause ( Unpause a paused container )
 
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                   PORTS                NAMES
108233ba9a1d        9bc094d3c806        /usr/sbin/nginx -g '   About an hour ago   Up 38 minutes (Paused)   0.0.0.0:80->80/tcp   nostalgic_almeida   
$ docker unpause 108233ba9a1d
108233ba9a1d
$ open http://localhost:8080
- version ( Show the Docker version information )
 
$ docker version
Client version: 1.1.1
Client API version: 1.13
Go version (client): go1.2.1
Git commit (client): bd609d2
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.1
Git commit (server): d84a070
- wait ( Block until a container stops, then print its exit code )
 
$ docker wait 108233ba9a1d
$ docker stop 108233ba9a1d
    
Top comments (0)