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

相关文章
|
26天前
|
安全 Docker 容器
|
26天前
|
网络安全 数据安全/隐私保护 Docker
|
25天前
|
存储 监控 安全
|
2月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
|
25天前
|
存储 关系型数据库 MySQL
|
1月前
|
网络协议 Docker 容器
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案
817 1
|
1月前
|
安全 网络安全 开发者
Docker学习笔记(一):Docker命令总结
本文介绍了Docker的基本概念、优点以及常用命令。Docker是一个开源的应用容器引擎,它通过容器打包应用程序及其依赖项,实现快速部署和迁移。主要优点包括轻量级、可移植性、易于管理、安全性和开源性。文章还区分了镜像和容器的概念,并提供了构建镜像、查看容器、运行容器、停止和删除容器等常用Docker命令的示例。
129 0
|
1月前
|
Linux 网络安全 Docker
安装后无法使用 Docker 命令
【10月更文挑战第3天】
185 2
|
1月前
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
|
1月前
|
运维 数据库 开发者
docker回顾--docker compose详细解释,安装,与常用命令
docker回顾--docker compose详细解释,安装,与常用命令
115 1