- CKA/CKAD应试教程:从Docker到Kubernetes完全攻略
- 段超飞编著
- 879字
- 2025-03-17 18:51:30
1.7 管理容器的命令
容器如同一台没有显示器的计算机,如何查看容器里的东西,又如何在容器里执行命令呢(图1-18)?可以利用docker exec命令来实现。
通过docker exec命令就可以执行容器里的命令了。
1.7.1 在容器里执行指定的命令

图1-18 在容器里执行命令
语法:

在nerdctl里管理容器的语法如下。

第1步 在容器db里执行ip a | grep 'inet ’命令。

如果容器里没有要执行的命令,就会出现报错。


如果想获取shell控制台,需要加上-it选项。
第2步 获取容器里的bash控制台。

注意
有的镜像里不存在bash,可以使用sh替代。
上述命令在vms101上用nerdctl执行,只要把关键字docker换成nerdctl即可。
1.7.2 物理机和容器互相拷贝文件
有时我们需要让物理机和容器之间互相拷贝一些文件,它们之间拷贝文件的语法如下。

第1步 把物理机里的/etc/hosts拷贝到容器的/opt里。

可以看到,容器的/opt目录里原来是没有hosts文件的,现在已经拷贝进去了。
第2步 把容器里的/etc/passwd拷贝到物理机的/opt里。


可以看到,物理机的/opt目录里原来是没有passwd文件的,现在已经拷贝进去了。
上述命令在vms101上用nerdctl执行,只要把关键字docker换成nerdctl即可。
1.7.3 关闭、启动、重启容器
一般情况下,在操作系统里重启某个服务,可以通过“systemctl restart 服务名”命令来实现,容器里一般是无法使用systemctl命令的。如果要重启容器里的程序,直接重启容器就可以了。下面演示如何关闭、启动、重启容器。
第1步 关闭、启动、重启容器。

上述命令在vms101上用nerdctl执行,只要把关键字docker换成nerdctl即可。
第2步 查看容器里运行的进程。
语法:

这个类似于任务管理器,可以查看到容器里正在运行的进程。

上述命令在vms101上用nerdctl执行,只要把关键字docker换成nerdctl即可。
1.7.4 查看容器里的输出
当容器无法正常运行时,我们需要查看容器里的输出来进行排错。如果要查看容器里的日志信息,可以使用如下命令。

查看容器日志时,如果要持续显示日志内容,即只要容器内容更新,日志中就能立即显示出来,可以使用“docker logs -f 容器名”命令。
第1步 查看容器日志输出。

上述命令在vms101上用nerdctl执行,只要把关键字docker换成nerdctl即可。
如果要查看容器的属性,可以通过“docker inspect 容器名”命令来实现。
第2步 查看容器db的属性。

在这个输出里,可以查看到容器的各种信息,比如数据卷、网络信息等。
上述命令在vms101上用nerdctl执行,只要把关键字docker换成nerdctl即可。