2

运行容器

使用run命令启动容器。

下面的命令输出一个 “Hello World”,之后终止容器:

$ sudo docker run ubuntu:14.04 /bin/echo 'Hello world'

clipboard.png

下面的命令则启动一个 bash 终端,允许用户进行交互:

$ sudo docker run -i -t ubuntu /bin/bash

clipboard.png

这句命令的解释:

  • 告诉Docker使用docker run命令。
  • 参数-i标志容器中SRDIN是开启的。-t标志告诉doncker为要创建的的容器分配一个伪tty终端。这样新创建的容器才能提高一个交互式shell。
  • 这里使用ubuntu镜像。ubuntu镜像是一个常备镜像,也成为基础(base)镜像。也可以使用其他镜像,如debian、centos、fedora。
  • 指定镜像时,Docker会检查本地是否存在ubuntu镜像。如果本地没有该镜像的话,就好链接官方维护的Docker Hub Registy,查看Docker Hub中是否有该镜像,有的话就下载下来。

现在进入到容器中,这是一个完整的Ubuntu系统。

clipboard.png

在交互模式下,用户可以通过所创建的终端来输入命令,例如:

root@49aefbbb440a:/# pwd
root@49aefbbb440a:/# ls

容器的一些操作

查看/etc/hosts文件:

root@49aefbbb440a:/# cat /etc/hosts

clipboard.png

查看网络配置:

root@49aefbbb440a:/# ip a

clipboard.png

容器的核心为所执行的应用程序,所需要的资源都是应用程序运行所必需的。除此之外,并没有其它的资源。可以在伪终端中利用 pstop 来查看进程信息:

root@49aefbbb440a:/# ps -aux

clipboard.png

安装vim:

root@49aefbbb440a:/# apt-get update && apt-get install vim

容器重命名

要退出容器进行重命名

错误做法:

root@49aefbbb440a:/# sudo docker run --name ao_ct -i -t ubuntu /bin/bash
sudo: docker: command not found

正确做法:

root@49aefbbb440a:/# exit
exit
docker@boot2docker:~$ sudo docker run --name 名字 -i -t ubuntu /bin/bash

clipboard.png

查看当前系统中容器列表

$ sudo docker ps -a

clipboard.png

重启已经停止的容器

可以start + 容器名

$ sudo docker start ao_ct

start + 容器ID

$ sudo docker start b1ec5fb7f499

clipboard.png

列出本地镜像

使用docker images显示本地已有的镜像。

$ sudo docker images

clipboard.png

在列出信息中,可以看到几个字段信息“

  • 来自于哪个仓库,比如 ubuntu
  • 镜像的标记,比如 14.04
  • 它的 ID 号(唯一)
  • 创建时间
  • 镜像大小

其中镜像的 ID 唯一标识了镜像,注意到 ubuntu:14.04ubuntu:trusty 具有相同的镜像 ID,说明它们实际上是同一镜像。

TAG 信息用来标记来自同一个仓库的不同镜像。例如 ubuntu 仓库中有多个镜像,通过 TAG 信息来区分发行版本,例如12.0412.1013.0414.04 等。

下面的命令指定使用镜像 ubuntu:14.04 来启动一个容器。

$ sudo docker run -t -i ubuntu:14.04 /bin/bash

clipboard.png

如果不指定具体的标记,则默认使用 latest 标记信息。

【本人的学习笔记,主要是对《我的第一本Docker书》、《Docker —— 从入门到实践》的学习记录,并结合其他各种资源的学习。我使用的是windows 7, docker 1.3.2。】


Aomine
2.2k 声望102 粉丝

喜欢web开发,初学阶段,希望未来能成为厉害的工程师~