Docker 入门到实践系列文章列表:
Docker 入门到实践 (一) docker 简介与安装
Docker 入门到实践 (二) docker 常用命令讲解
Docker 入门到实践 (三) Dockerfile 解析与镜像制作
Docker 入门到实践 (四) docker 容器数据卷与数据卷容器
Docker 入门到实践 (五) docker 数据的备份、恢复与迁移
Docker 入门到实践 (六) docker 网络模式详解以及容器间的网络通信
Docker 入门到实践 (七) docker 常用软件的安装
Docker 入门到实践 (八) 本地镜像推送到阿里云 和 下载镜像到本地
Docker 入门到实践 (九) docker 可视化界面 portainer 的安装与使用
Docker 入门到实践 (十) IDEA 集成 Docker 构建容器镜像,部署项目
Docker 入门到实践 (十一) docker 私有仓库的搭建与配置
Docker 入门到实践 (十二) docker compose 简介与安装
Docker 入门到实践 (十三) docker compose 配置文件与常用命令讲解
Docker 入门到实践 (十四) docker 企业级容器镜像仓库 HarBor 的搭建与配置
一、前言
在上一篇文章中已经介绍了 docker 相关的概念以及 docker 的安装, 下面正式进入的 docker 常用命令的讲解。docker 分为客户端和服务端两部分,docker 为客户端调用的命令, 本文着重介绍客户端的用法。
二、Docker 常用命令讲解
1、docker 相关命令
1.1、docker 启动与停止
//启动docker
systemctl start docker
//停止docker
systemctl stop docker
//重启docker
systemctl restart docker
//设置docker开机自启
systemctl enable docker
1.2、查看 docker 状态
systemctl status docker
1.3、查看 docker 版本信息
docker version
1.4、查看 docker 概要信息
docker info
1.5、查看 docker 帮助文档
docker --help
2、镜像相关命令
2.1、查看本地主机上的镜像
docker images
REPOSITORY
:镜像的仓库源,即镜像名称
TAG
:镜像版本标签,即版本号
-
同一镜像仓库源可以有多个 TAG,代表这个镜像仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
-
如果不指定一个镜像的版本标签,docker 将默认使用最新版,即 latest 版本,例如你使用 docker pull tomcat,docker 将默认拉取 tomcat 最新版镜像,即 docker pull tomcat:latest。
IMAGE ID
:镜像 ID
CREATED
:镜像的创建日期(不是获取该镜像的日期)
SIZE
:镜像大小
2.2、查看 docker images 镜像命令的帮助文档
docker images --help
docker images 相关命令的主要用法为: docker images [OPTIONS] [REPOSITORY[:TAG]]
,即 docker images [docker 镜像命令选项] [镜像名称 [: 版本号]],中括号[]
表示该命令选项 可选可不选
常用的 docker images 镜像命令选项有:
-a
:列出本地所有的镜像 (包含中间镜像层)
-q
:只显示镜像 ID
--digests
:显示镜像的摘要信息
--no-trunc
:显示完整的镜像信息
docker images 常用命令:
//查看镜像
docker images
//查看所有镜像(包含中间镜像层)
docker images -a
//查看镜像ID
docker images -q
//查看所有镜像ID
docker images -aq
2.3、查找 docker 镜像
docker search 镜像名称
NAME
:仓库名称
DESCRIPTION
:镜像描述
STARS
:点赞数,反应一个镜像的受欢迎程度
OFFICIAL
:是否为官方镜像
AUTOMATED
:自动构建,表示该镜像由 Docker Hub 自动构建流程创建的
2.4、查看 docker search 镜像命令的帮助文档
docker search --help
docker search 相关命令的主要用法为: docker search [OPTIONS] TERM
,即 docker search [docker 镜像命令选项] 镜像,中括号[]
表示该命令选项 可选可不选
常用的 docker search 镜像命令选项有:
-f stars=数字
:列出点赞数不小于指定值的镜像
--limit 数字
:列出指定数目的镜像,默认数目为 25
docker search 常用命令:
//查询镜像
docker search 镜像名称
例如:docker search tomcat //查询tomcat镜像
//查询点赞数不小于指定值的镜像
docker search -f stars=n 镜像名称
例如:docker search -f stars=5 tomcat //查询点赞数大于等于5的tomcat镜像
//查询点赞数排名前n的镜像
docker search --limit n 镜像名称
例如:docker search --limit 5 tomcat //查询点赞数排名前5的tomcat镜像
2.5、拉取 docker 镜像
docker pull 镜像名称[:版本号]
2.5、删除 docker 镜像
//删除单个镜像
docker rmi 镜像ID/镜像名称[:版本号]
//-f:表示强制删除,强制删除单个镜像
docker rmi -f 镜像ID/镜像名称[:版本号]
//删除多个镜像
docker rmi [-f] 镜像1ID/镜像1名称[:版本号] 镜像2ID/镜像2名称[:版本号]
//删除全部镜像
docker rmi [-f] $(docker images -aq)
2.6、获取 docker 镜像元信息
docker inspect 镜像ID/镜像名称[:版本号]
3、容器相关命令
3.1、查看 docker run 容器命令的帮助文档
docker run --help
docker run 相关命令的主要用法为: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
,即 docker run [docker 容器命令选项] 镜像 [命令] [参数],中括号[]
表示该命令选项 可选可不选
常用的 docker run 容器命令选项有:
-i
:表示以交互模式运行容器,通常与-t
结合使用
-t
:为容器重新分配一个伪输入终端,通常与-i
结合使用
-d
:后台运行容器,并返回容器 ID,即启动守护式容器 (这样创建的容器不会分配一个伪输入终端,如果是以-it
两个参数启动,启动后则会分配一个伪输入终端)
-p
:指定端口映射,格式为:-p 主机(宿主机)端口:容器映射端口
,可以使用多个-p
做多个端口映射
-v
:指定挂载主机目录 / 文件 到容器目录 / 文件 上,即挂载容器数据卷,格式为:-v 主机(宿主机)目录/文件的绝对路径:容器内目录/文件的绝对路径[:读取权限]
,可以使用多个-v
做多个目录或文件映射,默认为rw读写模式
,ro表示只读
。
rw读写模式
:表示宿主机能对数据卷进行读取和更改,容器也能对其进行读取和更改。
ro表示只读
:表示宿主机能对数据卷进行读取和更改,容器只能对其进行读取不能更改。
--name
:为创建的容器指定一个名称,格式为:--name=容器名称
3.2、创建并运行容器
//以交互模式运行容器
docker run -it -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name=容器名称 镜像ID/镜像名称[:版本号]
//以后台方式运行容器 (推荐)
docker run -d -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name=容器名称 镜像ID/镜像名称[:版本号]
注意:这里启动容器时,没有挂载容器数据卷,一般建议挂载容器数据卷,实现数据持久化操作
在浏览器中,输入你的 Linux 系统的 ip 地址: 主机 (宿主机) 端口,即可访问
3.3、查看 docker ps 容器命令的帮助文档
docker ps --help
docker ps 相关命令的主要用法为: docker ps [OPTIONS]
,即 docker ps [docker 容器命令选项],中括号[]
表示该命令选项 可选可不选
常用的 docker ps 容器命令选项有:
-a
:列出当前所有正在运行
的容器 和 之前运行过但已停止
的容器
-l
:显示最近创建的容器
-q
:只显示容器编号
-n 数字
:显示最近创建的 n 个容器
-f status=exited
:查看已停止的容器
docker ps 常用命令:
//查看当前运行的容器
docker ps
//查看所有容器 (运行和停止的)
docker ps -a
//查看最近创建的容器
docker ps -l
//查看最近创建指定个数的容器
docker ps -n 数量
//查看停止的容器
docker ps -f status=exited
//查看所有容器的ID
docker ps -aq
3.4、列出当前所有正在运行的容器
docker ps
CONTAINER ID
:容器 ID
IMAGE
:镜像
COMMAND
:命令
CREATED
:创建时间
STATUS
:启动时长
PORTS
:端口映射
NAMES
:容器名称
3.5、容器启动与停止
//启动容器
docker start 容器ID/容器名称
//重启容器
docker restart 容器ID/容器名称
//停止容器
docker stop 容器ID/容器名称
//强制停止容器
docker kill 容器ID/容器名称
3.6、删除容器
//删除已停止的容器
docker rm 容器ID/容器名称
//-f:表示强制删除,删除正在运行的容器
docker rm -f 容器ID/容器名称
//删除全部的容器
docker rm -f $(docker ps -qa)
3.7、查看容器内部运行的进程
docker top 容器ID/容器名称
3.8、查看容器内部元信息
docker inspect 容器ID/容器名称
3.9、进入正在运行的容器内并以命令行交互
//以exec方式进入到容器
docker exec -it 容器ID/容器名称 /bin/bash 或 /bin/sh
//以attach方式进入到容器
docker attach 容器ID/容器名称
//如果不想进入容器,直接获取相关指令的运行结果,可在后面填写相关操作指令
docker exec -it 容器ID/容器名称 相关命令
exec 与 attach 的区别:
exec
:是在容器中打开新的终端,并且可以启动新的进程 (推荐)attach
:是直接进入容器启动命令的终端,不会启动新的进程
3.10、退出容器
上面说过,可以使用命令进入到正在运行的容器内,那么该如何退出容器呢?请使用以下命令:
//退出并停止容器
exit
//退出但容器不停止
ctrl + p + q
3.11、文件拷贝
//从容器内拷贝文件到宿主机
docker cp 容器ID/容器名称:容器内目录/文件的绝对路径 宿主机目录/文件的绝对路径
//从宿主机中拷贝文件到容器内
docker cp 宿主机目录/文件的绝对路径 容器ID/容器名称:容器内目录/文件的绝对路径
3.12、查看 docker logs 容器命令的帮助文档
docker logs --help
docker logs 相关命令的主要用法为: docker logs [OPTIONS]
CONTAINER,即 docker ps [docker 容器命令选项] 容器,中括号[]
表示该命令选项 可选可不选
常用的 docker logs 容器命令选项有:
-f
:显示最新的打印日志
-t
:显示时间戳
--tail 数字
:显示最后多少条日志
docker logs 常用命令:
//查看容器日志并显示时间戳
docker logs -t 容器ID/容器名称
//持续输出容器日志
docker logs -f 容器ID/容器名称
//查看最后n条容器日志
docker logs --tail n 容器ID/容器名称
3.13、查看容器日志
docker logs -f -t 容器ID/容器名称
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net