Docker 基本指令
查看Docker基本信息
首先,我们会查看Docker 是否能够正常运行
使用 docker info
查看 Docker 程序是否存在,功能是否正常
上面我们使用了 docker info 指令,该命令会返回所有容器和镜像的数量、Docker 使用的执行驱动和存储驱动,以及Docker 的基本配置
Docker 是基于客户端-服务器架构的。它有一个 Docker 程序,既能作为客户端,又能作为服务端。作为客户端时,docker 程序向 Docker 守护进程发送请求,然后再对返回的请求结果进行处理。
运行容器
现在,我们尝试启动第一个容器,我们可以使用docker run
方法创建容器,docker run 提供了容器的创建到启动的过程。docker run 的执行流程如下图所示:
现在我们开始运行一条指令docker run -i -t ubuntu /bin/bash
,-i 标志保证容器中的 STDIN 时开启的,尽管我们并没有附着到容器中。持久的标准输入时交互式shell 的"半边天",-t 标志则是另外"半边天",它告诉 Docker 为要创建的容器分配一个 tty 终端。这样,docker 才能提供一个交互式的 shell 。示例中的 ubuntu 是一个常备镜像,也被称为基础镜像,它由Docker 公司提供并保存在 Docker Hub Registry 上。
随后,Docker 在文件系统内部利用这个镜像创建了一个新的容器。该容器拥有自己的网络、IP地址,以及一个用来和宿主机通信的桥接网络接口。最后,我们告诉 Docker 在新容器内要运行什么命令,我们在容器中运用 /bin/bash 创建了一个 Bash Shell。
使用容器
现在,我们已经切换到了新的容器中
容器ID 是@18178c34cd5a
,这是一个完整的 ubuntu 系统,下面我们就来研究一下这个系统,你可以使用
hostname
获取主机名
你会发现主机名和 root 后面的字符串一致,也就是说root 后面其实跟的是主机ID。
我们再来看看 /etc/hosts 文件,如下所示
还可以查看容器中运行的进程,ps -aux
用于查询容器中的进行进程
接下来我们要干什么?安装一个软件包?安装一下 vim 软件吧,使用apt-get update && apt-get install vim
进行安装。通过上述命令,我们可以在Ubuntu宿主机上使用 vim 口令和语法了。
当你想退出时,直接使用 exit
就退回宿主机的命令行了。
那么这个容器怎么样了?容器现在已经停止运行,只有在制定的/bin/bash 处于运行状态时,容器才会处于运行状态。一旦退出,容器也就停止了运行。
但是容器还是存在的,你可以使用 docker ps -a
查看系统中的容器列表
默认情况下,使用 docker ps
能够列出所有正在运行的容器列表,使用 docker ps -a
列出系统出所有的容器列表包括正在运行的和已经停止的。
容器命名
Docker 会为我们创建的每个容器自动生成一个随机的名称。例如我们上面创建的 /bin/bash 的名称,如果想要指定名称,通过 --name 标志实现,例如sudo docker --name cxuan_container -i -t ubuntu /bin/bash
上述命令会为你创建一个 cxuan_container 的ubuntu 镜像,你可以使用 docker ps -a 来查看最近的一个镜像。
容器的名称必须是唯一的,而且有效的名称能够帮助我们理清楚上下级关系,所以明明很重要!!!