Docker常用命令

Docker常用命令可以分为三类 :

  • Docker帮助命令 : 3个
    • docker version 查看docker的版本
    • docker info 显示docker的信息
    • docker –help docker的帮助手册
  • Docker镜像命令 : 4个
    • docker images 显示本地主机的镜像
    • docker search 镜像名 搜索镜像
    • docker pull 镜像名 拉取镜像
    • docker rmi 镜像名ID 删除镜像
  • Docker容器命令 : 8个
    * docker run [options] image                 运行镜像生成容器实例
    * docker ps [options]                              显示容器进程
    * exit                                                         容器停止退出 
    * docker start 容器ID或容器名               启动容器
    * docker restart 容器ID或容器名           重启容器
    * docker stop 容器ID或容器名               停止容器
    * docker kill 容器ID或容器名                  强制停止容器
    * docker rm 容器ID                                  删除容器

1. Docker帮助命令

1
# docker version

1
# docker info

1
# docker --help

2. Docker镜像命令

2.1 docker images [options]

options:

  • -a : 列出本地所有的镜像
  • -q : 只显示镜像ID
  • –digests : 显示镜像的摘要信息
  • –no-trunc : 显示完整的镜像信息
1
# docker images -qa

1
# docker images  -a --digests

1
# docker images -qa --no-trunc

2.2 docker search [options] 镜像名

options :

  • -s : 显示收藏数不小于指定值的镜像;
  • –no-trunc : 显示完整镜像描述;
  • –automated : 只显示automated build类型的镜像;

下面是tomcat的收藏数不小于30并且是自动构建的完整镜像描述信息

1
# docker search -s 30 --no-trunc --automated tomcat

2.3 docker pull 镜像名[:Tag]

1
2
# docker pull mysql 
# docker images -a

注意:search 镜像是从Docker-Hub中搜索,而拉取镜像会从配置过的镜像源拉取(/etc/docker/daemon.json),配置过程在上一篇“Docker理论知识点和安装”。

2.4 docker rmi 镜像名ID

删除操作就不做过多的演示,有兴趣的可以试试~~

删除单个镜像 :

1
# docker rmi -f 镜像ID

删除多个镜像 :

1
# docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部镜像 :

1
# docker rmi -f $(docker images -qa)

3. Docker容器命令

下面下载一个CentOS镜像进行演示

3.1 新建并运行容器 : docker run [options] images

options :

  • -it : 以交互模式运行容器,并分配一个伪输入终端
  • -d : 后台运行容器

交互模式运行容器 :

1
2
3
# docker run -it centos
# pwd
# ls -l

3.2 列出当前所有正在运行的容器 : docker ps [options]

option :

  • -a : 列出当前所有正在运行的容器 + 历史上运行过的;
  • -l : 显示最近创建的容器;
  • -n : 显示最近 n 个创建的容器;
  • -q : 只显示容器编号;
  • –no-trunc :不截断输出
1
# docker ps -a --no-trunc

1
# docker ps -q -n 2 --no-trunc

3.3 退出容器

两种方式 :

  • exit 容器停止退出
  • Ctrl+P+Q 容器不停止退出

3.4 启动容器

1
# docker start 容器ID或容器名

3.5 重启容器

1
# docker restart 容器ID或容器名

3.6 停止容器

1
# docker stop 容器ID或容器名

3.7 强制停止容器

1
# docker kill 容器ID或容器名

3.8 删除已停止的容器

删除一个 :

1
# docker rm -f 容器ID

删除多个 :

1
# docker rm -f $(docker ps -qa)

下面是比较重要的一些常用命令 :

4. 一些较重要的命令

4.1 启动守护式容器

1
# docker run -d centos

注意:由上图可知,发现容器已经退出,Docker容器后台运行,就必须有一个前台进程;否则就会自动退出。

4.2 查看容器日志 docker logs [options] 容器ID

option :

  • -t : 时间戳
  • -f : 跟随最新的日志打印
  • –tail 数字 : 显示最后多少条
1
# docker logs -tf --tail 容器ID

4.3 查看容器内运行的进程

1
# docker top 容器ID

4.4 查看容器内部细节

1
# docker inspect 容器ID

4.5 进入正在运行的容器并以命令行交互

1
# docker exec -it 容器ID
1
# docker attach 容器ID

4.6 从容器内拷贝文件到主机上

  • docker cp 容器ID : 容器内路径 目的主机路径

实现 :

​ 运行镜像产生容器实例,在容器实例中创建shishi.txt,然后将容器中的shishi.txt拷贝到本地主机。

1
2
3
4
5
6
7
8
# docker ps -a 
# docker run -t centos
# touch shishi.txt
# ls

# docker cp 12484b44e853:/shishi.txt /
# cd /
# ls