Docker 常用命令

简介: Docker 常用命令

🎈1. 帮助启动类命令

启动 docker

systemctl start docker

停止 docker

systemctl stop docker

重启 docker

systemctl restart docker

查看 docker 状态

systemctl status docker

开机启动

systemctl enable docker

查看 docker 概要信息

docker info

查看 docker 总体帮助文档

docker --help

查看 docker 命令帮助文档

docker 具体命令 --help

🎈2. 镜像命令

列出本地主机上的镜像

docker images

options 说明

docker images -a     //列出本地所有的镜像
docker images -q     //只显示镜像ID

搜索镜像名称

docker search [options] 镜像名称

options 说明

docker search --limit 5 redis     //只列出5个redis镜像,不加的话默认25个

下载镜像

docker pull 镜像名称[:TAG]    // 没有TAG就是最新版,docker pull 镜像名称:latest

查看镜像/容器/数据卷所占的空间

docker system df

删除镜像

docker rmi -f 镜像ID        //删除单个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG   //删除多个镜像
docker rmi -f $(docker images -qa)    // 删除全部

🎈3. 容器命令

容器是运行在镜像的基础之上的,因此,首先需要下载一个镜像,以 ubuntu 为例

docker pull ubuntu
//docker pull centos

新建并启动容器

docker run [options] image [command][arg...]

options 说明:

--name="容器新名字"  为容器指定一个名称
-d:后台运行容器并返回容器ID,即启动守护式容器(后台运行)
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与-i同时使用,即启动交互式容器(前台有伪终端,等待交互)
-P: 随机端口映射,大写 P
-p: 指定端口映射,小写 p

启动前台交互式容器

docker run -it ubuntu /bin/bash
参数说明:
-i:交互式操作
-t: 终端
ubuntu: ubuntu 镜像
/bin/bash: 放在镜像后的命令

2e718f6de6d94987ae2f2182c528d9c8.png

如果想要退出,直接输入 exit 命令

2e718f6de6d94987ae2f2182c528d9c8.png

列出当前所有正在运行的容器

docker ps [options]

options 说明

-a: 列出当前所有正在运行的容器和历史运行过的
-l: 显示最近创建的容器
-n: 显示最近n个创建的容器
-q: 静默模式,只显示容器编号

退出容器

//两种退出方式
//1.run 运行容器,exit退出,容器停止
exit        
//2.run运行容器,crtl+p+q退出,容器不停止
ctrl+p+q

启动已停止运行的容器

docker start 容器ID或容器名

重启容器

docker restart 容器ID或者容器名

停止容器

docker stop 容器ID或容器名

强制停止容器

docker kill 容器ID或容器名

删除已停止的容器

docker rm 容器ID
// 一次性删除多个容器实例
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm

启动守护式容器(后台服务器)

docker run -d 容器名

以启动镜像 ubuntu 为例,以后台模式启动一个容器

docker run -d ubuntu

之后,使用命令docker ps -a 进行查看,会发现容器已经退出了。

2e718f6de6d94987ae2f2182c528d9c8.png

由于 docker 的机制问题,docker 容器后台运行,就必须有一个前台进程。 容器运行的命令如果不是那些一直挂起的命令(比如运行 top, tail),就会自动退出。


以 nginx 为例,通常情况下,我们配置启动服务只需要启动响应的 service 即可,例如 service nginx start,但是这样做 nginx 为后台进程模式运行,就导致 docker 前台没有运行的应用,这样的容器后台启动后,会觉得无事可做而立即“自杀”。因此,最佳解决方法就是,将要运行的程序以前台进程的形式运行。最常见的就是命令行模式,表示还有交互操作不中断。


查看容器日志

docker logs 容器ID

查看容器内运行的进程

docker top 容器ID

查看容器内部细节

docker inspect 容器ID

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

docker exec -it 容器ID bashShell

2e718f6de6d94987ae2f2182c528d9c8.png

执行 exit 后,重新进入 docker,但是这次使用如下命令

docker attach 容器ID

2e718f6de6d94987ae2f2182c528d9c8.png

可看到,在执行 exit 命令之后,再次查看运行的容器,发现此时没有正在运行的容器了!


这是因为,attach 直接进入容器启动命令终端,不会启动新的进程,用 exit 退出,会导致容器的停止。然而,exec 是在容器中打开新的终端,并且可以启动新的进程,用 exit 退出,不会导致容器的停止。推荐使用 docker exec 命令,这样退出容器终端时,不会导致容器的停止!

从容器内拷贝文件到主机

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

导入和导出容器

export 导出容器的内容留作为一个tar归档文件[对应import命令]
import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

案例演示:将容器名为 ubuntu 导出,内容留为一个归档文件,之后删除 docker 中的容器 ubuntu。再将归档文件导入到 docker 容器,创建 ubuntu 镜像实例。

导出容器:

2e718f6de6d94987ae2f2182c528d9c8.png

导入容器

2e718f6de6d94987ae2f2182c528d9c8.png

🎈4. Docker 常用命令可视化

对于一些常用的命令,docker 官方也作了总结,如下图所示

image.png

相关文章
|
1月前
|
监控 Docker 容器
Docker 启动命令里 --cgroupns host 是什么作用?
【8月更文挑战第19天】Docker 启动命令里 --cgroupns host 是什么作用?
82 1
|
17天前
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
56 14
|
14天前
|
存储 Docker 容器
docker save命令和load命令
docker save命令和load命令
|
1月前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
24天前
|
Docker 容器
Docker Kill/Pause/Unpause命令详细使用指南
总之,`docker kill`、`docker pause`和 `docker unpause`命令是对容器执行快速状态控制操作的有力工具。使用这些命令可以帮助您更好地管理容器,并在需要时快速响应异常情况。在操作过程中,应当谨慎使用 `docker kill`,因为它将导致容器立即停止,有可能导致数据丢失或文件系统损坏。在可能的情况下,先尝试使用 `docker stop`命令以正常方式停止容器。
17 2
|
23天前
|
负载均衡 调度 Docker
|
1月前
|
存储 Docker 容器
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
|
2月前
|
JSON 数据格式 Docker
Docker 网络命令大全,建议收藏!
【7月更文挑战第22天】
123 7
Docker 网络命令大全,建议收藏!
|
1月前
|
Ubuntu NoSQL Linux
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
这篇文章详细介绍了Docker的基本使用,包括Docker的安装、常用命令、架构概念等,并通过图解和实践帮助读者快速掌握Docker的使用方法。
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
|
2月前
|
存储 Linux 应用服务中间件
入职必会-开发环境搭建47-Docker必会命令
本文介绍了Docker使用频率最高的30个命令
入职必会-开发环境搭建47-Docker必会命令