跳到主要内容

Docker 基本命令

本文介绍 Docker 的基本命令,以及 Docker 服务的启动、关闭命令。Docker 命令可根据其三大核心概念进行划分,即镜像(Image)、容器(Container)和仓库(Repository)。

Docker 服务

查看 Docker 版本信息

docker version

查看 Docker 简要信息

docker -v

启动 Docker

systemctl start docker

关闭 Docker

systemctl stop docker

设置开机启动

systemctl enable docker

镜像

检索镜像

docker search 关键字

拉取镜像

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

列出镜像

docker image ls
docker images # 等效

删除镜像(指定镜像 ID)

docker rmi <镜像ID>

导出镜像(将镜像保存为归档文件)

docker save

导入镜像

docker load

构建镜像(需要 Dockerfile)

docker build

运行镜像(就是新建并运行一个容器)

docker run [镜像ID]

容器

容器声明周期

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。

① 新建并启动容器

docker run [镜像名/镜像ID]

② 启动已终止容器

docker start [容器ID]

列出本机运行的容器

docker ps

列出本机所有的容器(包括停止和运行)

docker ps -a

停止正在运行的容器

docker stop [容器ID]

杀死容器进程

docker kill [容器ID]

重启容器

docker restart [容器ID]

删除容器

docker rm [容器ID]

进入容器

进入容器也有两种方式,一种是从 stdin 进入,另一种是交互式进入。

① 从 stdin 进入容器(如果从该 stdin 中 exit,会导致容器的停止)

docker attach [容器ID]

② 交互式进入容器

docker exec [容器ID]

通常使用第二种方式进入容器,docker exec 后面跟的常见参数如下:

  • -d, --detach:在容器中后台执行命令
  • -i, --interactive=true|false:打开标准输入接受用户输入命令

导出和导入

导出容器(导出一个已经创建的容器到一个文件)

docker export [容器ID]

导入容器(导出的容器快照文件可以再导入为镜像)

docker import [路径]

其他

查看日志

导出的容器快照文件可以再导入为镜像

docker logs [容器ID]

这个命令有以下常用参数:

  • -f:跟踪日志输出
  • --since:显示某个开始时间的所有日志
  • -t:显示时间戳
  • --tail:仅列出最新 N 条容器日志

复制文件

从主机复制到容器

sudo docker cp host_path containerID:container_path

从容器复制到主机

sudo docker cp containerID:container_path host_path