6. Docker的其他命令
6.1 其他命令
docker run -d
docker rnu -d 镜像名 后台启动容器。
这里会遇到一个问题:
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7eeaf525e5e2 feb5d9fea6a5 "/hello" 25 hours ago Exited (0) 25 hours ago frosty_satoshi
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker run -d centos
34612f9f0b3514bdea621cd6af3273eaed217b3466e278e75c0d1b9b6315a605
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
34612f9f0b35 centos "/bin/bash" 10 seconds ago Exited (0) 10 seconds ago thirsty_pike
7eeaf525e5e2 feb5d9fea6a5 "/hello" 25 hours ago Exited (0) 25 hours ago frosty_satoshi
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]#
从上面的信息中可以看到,后台启动完成后,容器没有运行起来。
这是由于容器中没有前台进程,docker发现容器中没有应用,就会自动停止。
docker logs
docker logs -t -f 容器ID 查看容器中的日志
docker logs -t -f --tail 10 容器ID 查看容器中最近10条日志
注意点:
上面命令中的-t -f 可以写成 -tf 。
–tail 后面必须跟数量,否则命令会报错。
由于后台启动centos后,容器没有运行起来,因此,我们在启动centos时,添加一些shell脚本,让它有日志输出,具体使用如下:
docker run -d centos /bin/bash -c "while true; do echo docker Study;sleep 1;done"
使用示例:
# 查看正在运行的容器,现在是没有正在运行的容器的
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 添加shell脚本,并后台启动容器
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker run -d centos /bin/bash -c "while true; do echo docker Study;sleep 1;done"
f5dfecee13e49a6f3e3068d429442f0291ec997721dec86ff08c099388dbc5e8
# 查看正在运行的容器,看到有一个正在运行的容器
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f5dfecee13e4 centos "/bin/bash -c 'while…" 3 seconds ago Up 2 seconds hungry_ardinghelli
# 查看最近10行的日志
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]# docker logs -t -f --tail 10 f5dfecee13e4
2022-02-09T01:49:19.920251511Z docker Study
2022-02-09T01:49:20.922077457Z docker Study
2022-02-09T01:49:21.923938479Z docker Study
2022-02-09T01:49:22.925857468Z docker Study
2022-02-09T01:49:23.927790121Z docker Study
2022-02-09T01:49:24.929703095Z docker Study
2022-02-09T01:49:25.931556634Z docker Study
2022-02-09T01:49:26.933378454Z docker Study
2022-02-09T01:49:27.935238410Z docker Study
2022-02-09T01:49:28.937185684Z docker Study
2022-02-09T01:49:29.939224225Z docker Study
2022-02-09T01:49:30.941434743Z docker Study
2022-02-09T01:49:31.943425141Z docker Study
^C
[root@iZ8vb6lqqya4rvreq9ra6gZ ~]#
docker top
docker top 容器ID 查看容器中的进程信息。
具体使用:
[root@iZ8vb6lqqya4rvreq9ra6gZ yum.repos.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f5dfecee13e4 centos "/bin/bash -c '