开始

首先在docker官网或者国内的daoCloud来下载工具,不推荐新手在直接通过brew来安装 docker-machine

根据安装导航安装好就行

刚接触一个新玩具最先要做的就是让他跑起来

打开命令行,输入命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
docker version

lient:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 23:26:11 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 23:26:11 2016
 OS/Arch:      linux/amd64

运行正常

接下来我们用到了几个命令

1
2
3
4
5
docker run  运行一个主机
docker ps   列出正在运行的主机
docker attach  附着到指定的主机上
docker pull    从远程拉下指定的容器
docker images  列出下载到本地的容器

首先开启运行一个ubuntu容器

1
docker run -i -t ubuntu /bin/bash

解释一下命令含义:

运行ubuntu容器,

-i 保证容器中的 STDIN 是开启的,

-t 为容器生成一个伪tty终端

ubuntu 以ubuntu作为基础镜像,同理可以使用 centos,debain之类的

更多的命令 输入 docker run –help 可以查看

执行这条命令的时候,如果本地没有 ubuntu 的话会自动执行 docker pull ubuntu 拉取默认的ubuntu镜像到本地,执行完毕后就会进入容器中的bash界面,相当于一个ubuntu的虚拟机,执行 hostname 查看homeId 执行 exit推出容器内部界面,当退出的时候容器也将停止运行

退出后到本地的终端界面

1
2
3
4
5
6
7
8
docker ps -a


CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                       PORTS               NAMES
572fd5bda011        ubuntu              "-i -t /bin/bash"   Less than a second ago   Created                                          hungry_franklin
4cd577624dd2        ubuntu              "/bin/bash"         58 minutes ago           Exited (127) 9 minutes ago                       little_cat
80ac1b1ba419        ubuntu              "/bin/bash"         About an hour ago        Exited (0) 59 minutes ago                        determined_bhaskara
ce5104ceef1f        ubuntu              "/bin/bash"         47 hours ago             Exited (0) 47 hours ago                          small_hugle

列出所有的容器,每次 docker run 都会新创建一个容器, 相当于每次运行的时候都是一个初始的容器

如果想接着上次退出的就执行

1
2
docker start 4cd577624dd2
docker start little_cat

这两条执行的效果是一样的,都是指向同一个容器

但是这时只是开启了,我们想进入这个容器里怎么办? 执行下一条命令

1
docker attach littlt_cat

这样就会进入到容器里面的界面

忘了说了,如果想创建一个指定名字的容器就添加一个 --name 参数 比如

1
docker run -d --name littl_cat ubuntu /bin/bash

这里的 -d 就是以守护进程的方式在后台运行 –name 就是指定了容器的名字,如果不指定的话也会随机分配一个