Docker使用小结3 (第一个Docker容器)

  • 查看Docker的状态
  • 运行我们第一个容器
  • 退出容器
  • 列出容器
  • 退出容器小技巧
  • 容器命名
  • 附着到容器上
  • 关闭容器
  • 重新启动容器
  • 删除容器



安装了Docker以及配置完Docker守护进程之后,我们就要开始学习使用Docker。

查看Docker的状态

想要使用Docker,首先我们要查看Docker程序是否存在,功能是否正常:

[root@localhost ~]# docker info
Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 1
Server Version: 18.09.0
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs

运行我们第一个容器

既然已经确认过Docker可用,那么我们就使用 docker run 命令来创建第一个容器吧:

[root@localhost ~]# docker run -it centos /bin/bash
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
aeb7866da422: Pull complete 
Digest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b
Status: Downloaded newer image for centos:latest
[root@89edbb650fc6 /]#

这条命令中的 -i 标志保证容器中 STDIN 是开启的,无论我们是否附着到容器之中,持久的标准输入是必要的,而 -t 标志则是在创建 Docker 时分配一个伪 tty 终端。而我们也发现在创建了这个容器之后,就会立即连接到这个容器的交互式 shell 中,如果想要创建一个在后台运行的容器,我们可以添加 -d 参数,这样新建的容器即可放到后台运行,并返回一个容器 ID 。

现在我们已经以 root 用户登录到了这个新容器中,我们可以运行一些常用的命令,这是一个完整的系统,可以用它做任何事情。

退出容器

当所有的工作结束时,想要退出容器返回到宿主机时只要输入 exit 即可,也可以使用快捷键 CTRL + D

[root@f956971d8488 /]# exit
exit
[root@localhost ~]#

列出容器

现在我们已经回到宿主机的命令行提示符了,但是这个容器怎么样了?我们可以使用查询命令查询容器运行状态:

docker ps

但是返回的列表中并没有刚刚运行过的容器,原因是通过 exit 退出的容器,因为我们是使用 /bin/bash 命令启动的,因而一但退出容器, /bin/bash 命令结束了,容器自然也就随之停止了。但是此时容器仍然是存在的,这时我们就要加上 -a 参数来查看所有容器了:

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
f956971d8488        centos              "/bin/bash"         17 minutes ago      Exited (0) 7 minutes ago                       elegant_merkle

退出容器小技巧

但是如果我们想要退出容器但是又不想要关闭到容器该怎么办呢,可以使用 CTRL + P + Q 的方式来退出容器同时保证容器的运行:

[root@f956971d8488 /]# read escape sequence
[root@localhost ~]#

容器命名

Docker 会为我们创建的每一个容器自动生成一个随机的名称,例如上面我们所创建的容器就被命名为elegant_merkle,而我们执行一些命令的时候可以使用容器ID或者这个名称(此名称是唯一的,所以不能重复,否则会创建失败)。如果想要指定一个名称而不是使用自动生成的名称,则可以使用 –name 参数来实现:

docker run --name test1 -dit centos /bin/bash

附着到容器上

刚刚我们在后台启动了一台容器,那么我们怎么才能重新附着到刚刚创建的容器上呢?

docker attach test1

关闭容器

当工作结束后,一些容器已经完成了它们的任务,不需要在使用了,那么可以使用 stop 命令来停止运行容器。

docker stop test1

重新启动容器

test1容器已经停止运行了,但是其实它还在,通过 docker ps -a 就可以看到它。如果愿意,我们可以通过 start 命令重新启动一个已经停止运行的容器:

docker start test1

ps: 也可以使用 restart 来完成重启动作。

删除容器

如果确定不再使用一个容器了,我们可以在它停止运行后彻底的删除它,此动作不可回滚,请谨慎操作:

docker rm test1