启动容器
root@ubuntu:~# docker run ubuntu echo 'Hello World'
root@ubuntu:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fcf9597b6716 ubuntu:latest "echo 'Hello World!' 5 minutes ago Exited (0) 5 minutes ago tender_payne
5205c49f62d0 ubuntu:latest "echo 'Hello World!' 35 minutes ago Exited (0) 35 minutes ago angry_euclid
启动交互式容器
root@ubuntu:~# docker run -i -t ubuntu /bin/bash
查看容器
root@ubuntu:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33e7ad5295b8 ubuntu:latest "/bin/bash" 31 seconds ago Exited (127) 12 seconds ago cocky_euclid
fcf9597b6716 ubuntu:latest "echo 'Hello World!' 6 minutes ago Exited (0) 6 minutes ago tender_payne
5205c49f62d0 ubuntu:latest "echo 'Hello World!' 36 minutes ago Exited (0) 36 minutes ago angry_euclid
root@ubuntu:~# docker inspect 33e7ad5295b8
重新启动停止容器
root@ubuntu:~# docker start 33e7ad5295b8
33e7ad5295b8
root@ubuntu:~# docker attach 33e7ad5295b8
root@33e7ad5295b8:/# exit
自定义容器名/启动守护式容器
root@ubuntu:~# docker run --name=dc1 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
10a2f47603053cde5976374fcca3503b7ca72865fbd1dc48a140440225795111
root@ubuntu:~#
查看日志
root@ubuntu:~# docker logs dc1
hello world
root@ubuntu:~#
查看最新日志
root@ubuntu:~# docker logs -tf --tail 0 dc1
2017-06-30T22:39:41.197508556Z hello world
在运行中的容器内启动新进程
root@ubuntu:~# docker exec -i -t dc1 /bin/bash
root@ubuntu:~# docker top dc1
UID PID PPID C STIME TTY TIME CMD
root 5938 4989 0 15:38 ? 00:00:00 /bin/sh -c while true; do echo hello world; sleep 1; done
root 6267 4989 0 15:40 pts/4 00:00:00 /bin/bash
root 6298 5938 0 15:40 ? 00:00:00 sleep 1
root@ubuntu:~#
root@ubuntu:~# docker exec -i -t dc1 /bin/bash
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10a2f4760305 ubuntu:latest "/bin/sh -c 'while t 2 minutes ago Up 2 minutes dc1
root@ubuntu:~#
停止守护式容器
root@ubuntu:~# docker stop dc1
dc1
root@ubuntu:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10a2f4760305 ubuntu:latest "/bin/sh -c 'while t 3 minutes ago Exited (137) 15 seconds ago dc1
33e7ad5295b8 ubuntu:latest "/bin/bash" 9 minutes ago Exited (0) 4 minutes ago cocky_euclid
fcf9597b6716 ubuntu:latest "echo 'Hello World!' 15 minutes ago Exited (0) 15 minutes ago tender_payne
root@ubuntu:~#
root@ubuntu:~# docker start dc1
dc1
在容器中部署静态网站-Nginx部署流程
启动一个容器web
root@ubuntu:~# docker run -p 80 --name=web -i -t ubuntu /bin/bash
安装nginx
root@666dc69dc786:/# apt-get install nginx -y
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
666dc69dc786 ubuntu:latest "/bin/bash" 7 hours ago Up 7 hours 0.0.0.0:32768->80/tcp web
安装vim
root@ubuntu:~# docker attach web
root@666dc69dc786:/# apt-get update
root@666dc69dc786:/# apt-get install vim -y
root@666dc69dc786:/#
更改为阿里源
root@666dc69dc786:/# cp /etc/apt/sources.list /etc/apt/sources.list.bak
root@666dc69dc786:/# vim /etc/apt/sources.list
root@666dc69dc786:/# cat /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
root@666dc69dc786:/#
更新源
root@666dc69dc786:/# apt-get update
root@666dc69dc786:/# apt-get install nginx -y
root@666dc69dc786:/# nginx
root@666dc69dc786:/# ps -ef|grep nginx
root 1165 1 0 06:06 ? 00:00:00 nginx: master process nginx
www-data 1166 1165 0 06:06 ? 00:00:00 nginx: worker process
www-data 1167 1165 0 06:06 ? 00:00:00 nginx: worker process
www-data 1168 1165 0 06:06 ? 00:00:00 nginx: worker process
www-data 1169 1165 0 06:06 ? 00:00:00 nginx: worker process
root 1171 1 0 06:06 ? 00:00:00 grep --color=auto nginx
root@666dc69dc786:/#
创建hmtl目录
root@666dc69dc786:/# mkdir /var/www/html -p
root@666dc69dc786:/# cd /var/www/html/
root@666dc69dc786:/var/www/html# vim index.html
root@666dc69dc786:/var/www/html# cat index.html
<html>
<head>
<title>Nginx in Dcoker</title>
</head>
<body>
<h1>Hello, I'm website in Dcoker</h1>
</body>
</html>
root@666dc69dc786:/var/www/html# ls /etc/nginx/
conf.d koi-utf mime.types naxsi.rules nginx.conf scgi_params sites-enabled win-utf
fastcgi_params koi-win naxsi-ui.conf.1.4.1 naxsi_core.rules proxy_params sites-available uwsgi_params
root@666dc69dc786:/var/www/html# vim /etc/nginx/sites-enabled/default
.....
root /var/www/html;
.....
root@ubuntu:~# docker attach 666dc69dc786
root@666dc69dc786:/var/www/html# nginx -s reload
root@666dc69dc786:/var/www/html# root@ubuntu:~#
root@ubuntu:~# docker attach 666dc69dc786
root@ubuntu:~# docker port web
80/tcp -> 0.0.0.0:32768
root@ubuntu:~# docker top web
UID PID PPID C STIME TTY TIME CMD
root 6541 4989 0 22:40 pts/4 00:00:00 /bin/bash
root 8001 6541 0 23:06 ? 00:00:00 nginx: master process nginx
www-data 8082 8001 0 23:14 ? 00:00:00 nginx: worker process
www-data 8083 8001 0 23:14 ? 00:00:00 nginx: worker process
www-data 8084 8001 0 23:14 ? 00:00:00 nginx: worker process
www-data 8085 8001 0 23:14 ? 00:00:00 nginx: worker process
root@ubuntu:~#
root@ubuntu:~# curl http://127.0.0.1:32768
<html>
<head>
<title>Nginx in Dcoker</title>
</head>
<body>
<h1>Hello, I'm website in Dcoker</h1>
</body>
</html>
root@ubuntu:~#
停止容器web
root@ubuntu:~# docker stop web
启动停止的容器web
重启后,web容器ip、端口以变动;
root@ubuntu:~# docker start -i web
root@666dc69dc786:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 06:17 ? 00:00:00 /bin/bash
root 11 1 0 06:17 ? 00:00:00 ps -ef
root@666dc69dc786:/#
root@666dc69dc786:/# root@ubuntu:~#
root@ubuntu:~#
通过docker exec 的方式启动nginx
root@ubuntu:~# docker exec web nginx
root@ubuntu:~# docker top web
UID PID PPID C STIME TTY TIME CMD
root 8163 4989 0 23:17 pts/2 00:00:00 /bin/bash
root 8215 8163 0 23:18 ? 00:00:00 nginx: master process nginx
www-data 8216 8215 0 23:18 ? 00:00:00 nginx: worker process
www-data 8217 8215 0 23:18 ? 00:00:00 nginx: worker process
www-data 8218 8215 0 23:18 ? 00:00:00 nginx: worker process
www-data 8219 8215 0 23:18 ? 00:00:00 nginx: worker process
root@ubuntu:~#
root@ubuntu:~# docker port web
80/tcp -> 0.0.0.0:32769
root@ubuntu:~#
root@ubuntu:~# curl http://127.0.0.1:32769
<html>
<head>
<title>Nginx in Dcoker</title>
</head>
<body>
<h1>Hello, I'm website in Dcoker</h1>
</body>
</html>
root@ubuntu:~#