简介:Docker是一个基于虚拟化技术的容器,基于Go语言开发。Docker可以将应用程序打包封装到一个容器中,该容器包含了应用程序的代码、依赖库、运行环境、配置文件等必需的资源,通过容器就可以实现方便快速自动化部署,无论你部署时的环境如何,容器中的应用程序都会运行在同一种环境下。本文将介绍Docker的常用指令,并深入操作实践,为后续使用Docker的过程中提供参考。详细内容请参考下文。
一、Docker镜像仓库管理命令
概念:镜像仓库(Repository)是集中存放镜像的地方。比如 Docker Hub。是目前 Docker 官方维护了一个公共仓库。
1、docker pull(从镜像仓库中拉取指定的镜像)
【格式:】docker pull [选项] 镜像名[:版本号]
选项:
-a 拉取所有镜像
备注:版本号 可以不存在,不存在时,获取最新的镜像。
【举例:】# docker pull mysql:8.0.29
2、docker search(从 Dcoker Hub 中查找镜像)
【格式:】docker search [选项] 镜像名
选项:
--automated :只列出 automated build类型的镜像;
--no-trunc :显示完整的镜像描述;
-f <过滤条件>:列出收藏数不小于指定值的镜像。
【举例:】#从 Docker Hub 查找所有镜像名包含 java,并且收藏数量大于10的镜像
二、Docker本地镜像管理命令
概念:本地镜像:顾名思义,本地镜像是用于管理本地的镜像。
1、docker images(列出本地镜像列表)
【格式:】docker images [选项] 镜像名
选项:
-a 列出所有镜像
-q 只显示镜像 ID(IMAGE ID)
--no-trunc 显示完整的镜像信息
--digests 显示镜像摘要信息
【举例:】
# docker images nginx
# docker images --no-trunc
2、docker rmi(删除镜像)
【格式:】docker rmi [选项] 镜像名
选项:
-f 强制删除
比如:# docker rmi nginx
3、docker tag(标记本地镜像,将其归入某个仓库)
【格式:】docker tag 原镜像名 新镜像名
比如:# docker tag mysql:latest newmysql
备注:给本地镜像标记就相当于一个镜像的不同名字,方便归类。
三、Docker管理容器的生命周期命令
概念:运行一个镜像,就生成一个容器,容器内部是一个完整的运行环境。一个镜像可以生成多个容器,类似Java中类与对象的关系。需要对各个容器进行管理。
1、docker run(创建一个容器并运行)
2、docker start/stop/restart(启动、关闭、重启容器)
【docker start 格式:】docker start 容器名
【docker stop 格式:】docker stop 容器名
【docker restart 格式:】docker restart 容器名
【举例:】
# docker stop nginx
[root@localhost ~]# docker start nginx
[root@localhost ~]# docker restart nginx
3、docker kill(杀掉一个正在运行的容器)
【格式:】docker kill [选项] 容器名
选项:-s 向容器发送一个信号
【举例:】# docker kill nginx
4、docker create(创建一个容器,但不启动容器)
【格式:】docker create [选项] 镜像名
选项基本与 docker run 一样(缺少 -d)。
【举例:】# docker create -p 80:80 --name nginxdemo nginx
5、docker rm(删除容器)
【格式:】docker rm [选项] 容器名
选项:
-f 强制删除一个运行中的容器
-v 删除与容器相关联的卷
【举例:】# docker rm -f nginxdemo
6、docker exec(在运行的容器中执行命令)
【格式:】docker exec [选项] 容器名 命令
选项:
-d 以分离模式在后台运行。
-i 以交互模式运行容器,通常与 -t 连用(即 -it)。
-t 为容器分配一个伪输入终端。
【举例:】# docker exec -it mysql /bin/bash
四、Docker查看容器信息命令
1、docker ps(查看当前容器列表)
【格式:】docker ps [选项]
选项:
-a 显示所有容器,包括未运行的容器
-l 显示最近创建的容器
-n 指定数 显示最近创建的指定数的容器。
-q 只显示容器 ID
【举例:】# docker ps -an 2
2、docker top(查看容器中运行的进程信息)
【格式:】docker top 容器名
【举例:】# docker top nginx
3、docker logs(获取容器的日志)
【格式:】docker logs [选项] 容器名
选项:
-f 跟踪日志输出
--tail 显示最新的 n 条日志,格式: --tail=指定数
-t 显示时间戳
【举例:】# docker logs --tail=10 nginx
4、docker port(查看映射端口)
【格式:】docker port 容器名
【举例:】docker port nginx
5、docker info(显示 docker 系统信息)
【格式:】docker info
【举例:】# docker info
6、docker version、docker -v(显示 docker 版本信息)
【格式:】
docker version
docker -v
【举例:】
# docker version
# docker –v