- 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)