首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >(Docker容器技术)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!

(Docker容器技术)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!

作者头像
凉凉心.
发布2025-10-13 18:03:26
发布2025-10-13 18:03:26
1920
举报
文章被收录于专栏:CSDN专栏CSDN专栏

1. 为什么Docker比VM快?

docker有着比VM更少的抽象层

  • 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势

docker利用的时宿主机的内核,而不需要加载操作系统OS内核

  • 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。
  • 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需要几秒钟

差异化:

Docker容器

虚拟机(VM)

操作系统

与宿主机共享OS

宿主机OS上运行虚拟机OS

存储大小

镜像小、便于存储与传输

镜像庞大(vmdk、vdi等)

运行性能

几乎无额外性能损失

操作系统额外的CPU、内存消耗

移植性

轻便、灵活,适应于Linux

笨重、与虚拟机技术耦合度高

硬件亲和性

面向软件开发者

面向硬件运维这

部署速度

快速、秒级

较慢、10s以上

2. 常用启动命令

功能

命令

启动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

3. 镜像命令

3.1 docker images

列出本地镜像:

代码语言:javascript
复制
docker images

各个选项说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签版本号
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

同一仓库源可以有多个TAG版本,代表中国仓库源的不同个版本,我们使用

  • REPOSITORY:TAG 定义不同的镜像

如果不指定一个镜像的版本版本标签,docker默认使用 REPOSITORY:latest 最新版本镜像

如上图:就是 nacos:latest —— nacos镜像:最新版

3.1.1 OPTIONS说明

-a :列出本地所有的镜像(包含历史映像层)

-q :只显示镜像ID

代码语言:javascript
复制
docker images -a
docker images -q

3.2 docker search

  • 查找某个镜像
代码语言:javascript
复制
docker search [OPTIONS] 镜像名字

参数

说明

NAME

镜像名称

DESCRIPTION

镜像说明

STARS

点赞数量

OFFICIAL

是否是官方的

AUTOMATED

是否是自动构建的

  • OPTIONS说明:
代码语言:javascript
复制
--limit:只列出N个镜像,默认25个

docker search --limit 5 redis

常见报错:Error response from daemon: Get “https://index.docker.io/v1/search?q=redis&n=5”: dial tcp 199.96.63.177:443: connect: connection refused 这代表您没有连接到仓库

3.3 docker pull

  • 下载镜像
代码语言:javascript
复制
docker pull 镜像名称[:TAG]
# 或者
docker pull 镜像名称

如果不规定TAG,那么就会使用latest 采用最新版本镜像

  • 等价于:docker pull 镜像名称:latest

3.4 docker system df

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

3.5 docker rmi

  • 删除某 个/些 镜像
代码语言:javascript
复制
docker rmi 镜像ID

功能

代码

删除单个

docker rmi-f 镜像ID

删除多个

docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部

docker rmi -f ${docker images -qa}

docker images -qa 的作用:列出所有的镜像ID

3.6 docker commit

docker commit 命令用于将容器的当前状态保存为一个新的 Docker 镜像。

docker commit 命令通常用于创建镜像来保存容器的状态,以便在将来可以重用或分发该镜像

代码语言:javascript
复制
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

  • **-a 😗*提交的镜像作者。
  • **-c 😗*使用 Dockerfile 指令来创建镜像。
  • **-m 😗*提交时的说明文字。
  • **-p 😗*提交镜像前暂停容器(默认为 true)。

3.7 docker push

docker push 命令用于将本地构建的 Docker 镜像推送(上传)到 Docker 注册表(如 Docker Hub 或私有注册表)

这使得镜像可以在其他系统或环境中共享和使用

代码语言:javascript
复制
docker push [OPTIONS] NAME[:TAG]
  • NAME: 镜像名称,通常包含注册表地址(如 docker.io/myrepo/myimage)。
  • TAG(可选): 镜像标签,默认为 latest

OPTIONS 说明:

  • **–disable-content-trust 😗*忽略镜像的校验,默认开启

4. 容器命令

注意,有镜像才能创建容器,这是根本前提,如果只是演示,可以使用nginx来做测试

代码语言:javascript
复制
docker pull nginx

4.1 新建+启动 容器

代码语言:javascript
复制
docker run [OPTINOS] IMAGE [COMMAND] [ARG...]

OPTIONS 说明:有些是一个减号,有些是两个减号

代码

说明

–name=“容器新名称”

为容器制定一个名称

-d

后台运行容器并返回容器ID即 启动守护式容器(后台运行)

-i

以交互模式运行容器,通常与 -t 同时使用

-t

为容器重新分配一个伪输入终端,通常与 -i 同时使用也即 启动交互式容器(前台有伪终端,等待交互)

-P

大写P,**随机**端口映射

-p

小写p,**指定**端口映射

例如:

代码语言:javascript
复制
docker run -it nginx /bin/bash 

4.2 列出正在运行的容器

代码语言:javascript
复制
docker ps [OPTIONS]

OPTIONS说明(常用):

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

4.3 进入/退出容器

如何进入一个守护式容器内部?两种方式:

代码语言:javascript
复制
docker exec -it 容器ID /bin/bash
# 或者
docker attach -it 容器ID /bin/bash

更推荐以 exec 形式进入容器

exec命令,会进入容器内部,并且启动一个新进程。 attach这个命令会将你带入容器当前正在执行的终端,不会启动新的进程。这种方法适合于需要直接接管容器主进程的场景。

当进入到交互式容器内部后,有两种退出方式

  • exit :使用这种方式退出容器,会将容器停止
  • 快捷键ctrl+p+q :容器不会停止

4.4 启动已停止运行的容器

代码

功能

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

删除多个

4.5 重要部分

4.5.1 启动守护式容器(后台启动)

大部分情况下,我们希望docker的服务是在后台运行的,我们可以通过 -d 指定容器的后台运行模式

代码语言:javascript
复制
docker run -d 镜像名

前台启动

代码语言:javascript
复制
docker run -it nginx

后台启动

代码语言:javascript
复制
docker run -d nginx
4.5.2 查看容器日志、运行进程、内部细节
代码语言:javascript
复制
# 查看容器日志
docker logs 容器ID
# 查看容器内运行的进程
docker top 容器ID
# 查看容器内部细节
docker inspect 容器ID
4.5.3 进入容器内部

更加推荐 exec 方式进入容器内部,因为使用exit退出不会导致容器停止

代码语言:javascript
复制
docker exec -it 容器ID /bin/bash
4.5.4 拷贝

从容器内拷贝到主机(Linux)上

代码语言:javascript
复制
docker cp 容器ID:容器内路径 目标主机路径
4.5.5 导入和导出容器

export 导出容器的内容作为一个tar归档文件[对应import命令]

import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

代码语言:javascript
复制
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号

4.6 常用

指令

说明

attach

当前 shell 下 attach 连接指定运行镜像

build

通过 Dockerfile 定制镜像

commit

提交当前容器为新的镜像

cp

从容器中拷贝指定文件或者目录到宿主机中

create

创建一个新的容器,同 run,但不启动容器

diff

查看 docker 容器变化

events

从 docker 服务获取容器实时事件

exec

在已存在的容器上运行命令

export

导出容器的内容流作为一个 tar 归档文件[对应 import ]

history

展示一个镜像形成历史

images

列出系统当前镜像

import

从tar包中的内容创建一个新的文件系统映像[对应export]

info

显示系统相关信息

inspect

查看容器详细信息

kill

kill 指定 docker 容器

load

从一个 tar 包中加载一个镜像[对应 save]

login

注册或者登陆一个 docker 源服务器

logout

从当前 Docker registry 退出

logs

输出当前容器日志信息

port

查看映射端口对应的容器内部源端口

pause

暂停容器

ps

列出容器列表

pull

从docker镜像源服务器拉取指定镜像或者库镜像

push

推送指定镜像或者库镜像至docker源服务器

restart

重启运行的容器

rm

移除一个或者多个容器

rmi

移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]

run

创建一个新的容器并运行一个命令

save

保存一个镜像为一个 tar 包[对应 load]

search

在 docker hub 中搜索镜像

start

启动容器

stop

停止容器

tag

给源中镜像打标签

top

查看容器中运行的进程信息

unpause

取消暂停容器

version

查看 docker 版本号

wait

截取容器停止时的退出状态值

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 为什么Docker比VM快?
  • 2. 常用启动命令
  • 3. 镜像命令
    • 3.1 docker images
      • 3.1.1 OPTIONS说明
    • 3.2 docker search
    • 3.3 docker pull
    • 3.4 docker system df
    • 3.5 docker rmi
    • 3.6 docker commit
    • 3.7 docker push
  • 4. 容器命令
    • 4.1 新建+启动 容器
    • 4.2 列出正在运行的容器
    • 4.3 进入/退出容器
    • 4.4 启动已停止运行的容器
    • 4.5 重要部分
      • 4.5.1 启动守护式容器(后台启动)
      • 4.5.2 查看容器日志、运行进程、内部细节
      • 4.5.3 进入容器内部
      • 4.5.4 拷贝
      • 4.5.5 导入和导出容器
    • 4.6 常用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档