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