docker - [04] 常用命令

官方文档:https://docs.docker.com/reference/

 

 

一、帮助命令

1.1、docker version

查看docker的版本信息

 

1.2、docker info

显示docker的系统信息,包括镜像和容器的数量

 

1.3、docker --help

查看帮助信息

 

 

二、镜像命令

2.1、docker images

查看本地主机的所有镜像

  • REPOSITORY:镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像的id
  • CREATED:镜像的创建时间
  • SIZE:镜像的大小

 

2.2、docker search

在远程仓库搜索某个镜像

 

2.3、docker pull

拉取镜像(使用分层下载)

 

 

2.4、docker rmi

删除镜像:docker rmi -f <IMAGE ID>

# 删除所有镜像(递归删除)
docker rmi -f $(docker images -aq)

 

2.5、docker history

查看镜像历史:docker history [IMAGE ID](可以查看镜像的构建历史过程)

 

 

 

三、容器命令

3.1、docker run

启动并进入容器

不关闭容器,退回宿主机。这样的话,容器还在后台运行。

 

 

3.2、docker ps

列出所有运行的容器

 

3.3、docker rm

删除容器: docker rm -f [CONTAINERD ID]

docker rm -f $(docker ps -aq)        # 删除所有的容器
docker ps -a -q|xargs docker rm      # 删除所有的容器

 

3.4、docker [s/r/s/k]

 启动和停止容器的操作

# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id
# 停止当前正在运行的容器
docker stop 容器id
# 强制停止当前容器
docker kill 容器id

 

 

四、其他常用命令

4.1、docker run -d

后台启动容器

# 命令 docker run -d 镜像名
docker run -d centos

 

4.2、docker logs

查看日志

docker logs -f -t --tail container_id

[root@node /]# docker run -d centos /bin/bash -c "while true;do echo kuangshen;sleep 1;done"
f15f147bb7dc13b919f0ab21c505cccf91dd4d321b9b8086552267baafcf8da9
[root@node /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS              PORTS     NAMES
f15f147bb7dc   centos    "bash -c 'while true…"   About a minute ago   Up About a minute             sleepy_jemison
[root@node /]#
[root@node /]#
[root@node /]# docker logs -tf --tail 10 f15f147bb7dc
2023-05-29T06:48:44.257022483Z kuangshen
2023-05-29T06:48:45.260770075Z kuangshen
2023-05-29T06:48:46.263123898Z kuangshen
2023-05-29T06:48:47.265158305Z kuangshen
2023-05-29T06:48:48.267925288Z kuangshen
2023-05-29T06:48:49.270874934Z kuangshen
2023-05-29T06:48:50.274174637Z kuangshen
2023-05-29T06:48:51.277475492Z kuangshen
2023-05-29T06:48:52.280608365Z kuangshen
2023-05-29T06:48:53.283947185Z kuangshen
2023-05-29T06:48:54.286896417Z kuangshen
2023-05-29T06:48:55.290543538Z kuangshen
2023-05-29T06:48:56.293999089Z kuangshen
2023-05-29T06:48:57.299610253Z kuangshen
2023-05-29T06:48:58.302460498Z kuangshen
^C
[root@node /]#
[root@node /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
f15f147bb7dc   centos    "bash -c 'while true…"   2 minutes ago   Up 2 minutes             sleepy_jemison
[root@node /]#
[root@node /]#
[root@node /]#
[root@node /]# docker rm -f f15f147bb7dc
f15f147bb7dc
[root@node /]#
[root@node /]#
[root@node /]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@node /]#
[root@node /]#
[root@node /]#
[root@node /]#

 

4.3、docker top

查看容器中的进程信息

[root@node /]# docker run -d centos bash -c "while true;do echo kuangshen;sleep 1;done"
44ea59b3a9356a145dfd3a7bc68dc213865bfd695415f243323b93b0f065dbca
[root@node /]#
[root@node /]#
[root@node /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
44ea59b3a935   centos    "bash -c 'while true…"   6 seconds ago   Up 5 seconds             epic_boyd
[root@node /]#
[root@node /]#
[root@node /]#
[root@node /]# docker top 44ea59b3a935
UID     PID      PPID     C    STIME    TTY   TIME        CMD
root    72172    72151    0    14:51    ?     00:00:00    bash -c while true;do echo kuangshen;sleep 1;done
root    72290    72172    0    14:51    ?     00:00:00    /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
[root@node /]#
[root@node /]#
[root@node /]#

 

4.4、docker inspect

查看容器的元数据信息

 

 

4.5、docker exec/attach

进入当前正在运行的容器

# 方法一:进入容器后开启一个新的终端,可以在里面操作(常用)
docker exec -it container_id bash
# 方法二:进入容器正在执行的终端,不会启动新的进程!
docker attach container_id

 

4.6、docker cp

从容器内拷贝文件到主机

# docker cp 容器id:容器内路径 目的主机路径

[root@node01 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS          PORTS     NAMES
740ee6cbc783   centos    "bash"    40 seconds ago   Up 40 seconds             reverent_bardeen
[root@node01 ~]#
[root@node01 ~]# docker exec -it 740ee6cbc783 bash
[root@740ee6cbc783 /]#
[root@740ee6cbc783 /]# cd /home/
[root@740ee6cbc783 home]# ls
[root@740ee6cbc783 home]#
[root@740ee6cbc783 home]# touch test.sh
[root@740ee6cbc783 home]# ls
test.sh
[root@740ee6cbc783 home]# exit
exit
[root@node01 ~]#
[root@node01 ~]# docker cp 740ee6cbc783:/home/test.sh ./
Successfully copied 1.54kB to /root/./
[root@node01 ~]# ls
anaconda-ks.cfg  test.sh
[root@node01 ~]#

 

 

五、命令小结

 

 

— 要养成终生学习的习惯 —

posted @ 2023-05-25 01:45  HOUHUILIN  阅读(62)  评论(0编辑  收藏  举报