“Docker常用命令:轻松管理容器化应用的必备指南“

目录

1. docker启动命令

2. docker帮助命令

3. docker容器操作

3.1 docker启动、停止

3.2 docker查看容器命令

3.3 docker退出容器

3.4 docker删除容器

3.5 docker进入容器

3.6 docker查看容器的输入、输出

3.7 docker查询当前容器的镜像

3.8 docker查看容器运行的日志

3.9 docker 将文件拷贝到容器中、以及将文件拷贝出

3.10 docker run 容器相关命令

3.11 docker 容器中的进程信息和元数据

4. docker镜像操作

4.1 docker查看本地镜像

4.2 docker搜索镜像命令

4.3 docker下载镜像

4.4 docker删除镜像


主要介绍:(容器命令&&镜像命令)

1. docker启动命令

docker启动:sudo systemctl start docker

Linux系统启动时自动启动Docker服务:sudo systemctl enable docker

  • 这个命令并没有启动docker的操作,执行该命令后,还是要执行sudo systemctl start docker 命令启动docker,否则docker未开启。

附加:docker的有些命令是需要权限的,所以一般在进入docker后就进入root用户;

在 Docker 中,通常情况下只有 root 用户或者在 Docker 组中的用户才能运行 docker 命令,包括 docker ps -a;这是由于 Docker 的安全性设置和权限控制所导致的;

所以在进入docker的时候需要获取root用户的权限:

2. docker帮助命令

docker version  # 显示docker的版本信息

docker info  # 显示docker的系统信息,包括镜像和容器的数量

docker 命令 --help  # 帮助命令

3. docker容器操作

3.1 docker启动、停止

命令说明
docker start 容器id启动指定的容器。如果容器当前处于停止状态,将其启动。
docker restart 容器id重启指定的容器。停止并重新启动容器,适用于已经运行的和停止的容器。
docker stop 容器id停止指定的容器。发送 SIGTERM 信号给容器内的主进程,允许容器优雅地停止。如果一定时间内未停止,则发送 SIGKILL 强制停止。
docker kill 容器id强制停止指定的容器。发送 SIGKILL 信号给容器内的主进程,立即终止容器。

3.2 docker查看容器命令

命令说明
docker ps列出当前正在运行的容器。
docker ps -a列出当前正在运行的容器以及历史运行过的所有容器。
docker ps -n=<number>显示最近创建的指定数量的容器。例如,docker ps -n=5 显示最近创建的5个容器。
docker ps -l or docker ps -9显示最近创建的单个容器,这两个选项可以用来显示最新创建的容器。
docker ps --format="{{.ID}}"只显示容器的编号。这将仅仅列出所有容器的ID。

3.3 docker退出容器

容器不停止退出: Ctrl + p + Q一起按

exit # 直接停止容器并退出

3.4 docker删除容器

命令说明
docker rm 容器ID删除指定的容器。如果容器正在运行,需要先停止容器或使用 -f 强制删除。
docker rm -f $(docker ps -aq)删除所有的容器。使用 docker ps -aq 获取所有容器的 ID,并使用 docker rm -f 强制删除。
docker ps -a -q | xargs docker rm使用 xargsdocker ps -a -q 的输出作为参数传递给 docker rm 命令,从而删除所有的容器。
docker rm 容器id1 容器id2 容器id3 ...删除多个容器
docker rm -f 容器id1 容器id2 容器id3 ...强制删除多个容器
docker rm $(docker ps -a -q)删除全部停止状态的容器
docker rm -f $(docker ps -aq)删除全部容器(包括运行中的容器)

3.5 docker进入容器

命令说明
docker exec -it my_container /bin/bash进入名为 my_container 的容器,并启动一个交互式 Bash shell。
docker exec -d my_container ls -l /app在容器 my_container 中以后台模式执行 ls -l /app 命令,列出 /app 目录下的文件和目录。
docker exec -u user my_container command以指定用户 user 的身份执行命令 command 在容器 my_container 中执行命令。
docker exec -e KEY=VALUE my_container command在容器 my_container 中设置环境变量 KEY 的值为 VALUE 并执行 command 命令。

案例:docker exec -it my_container /bin/bash

3.6 docker查看容器的输入、输出

命令说明
docker attach 容器ID连接到正在运行的指定容器,查看容器的标准输入、输出和错误流。
Ctrl + P + Q在使用 docker attach 连接到容器后,按下 Ctrl + P,然后 Ctrl + Q 分离当前终端会话而不终止容器。

3.7 docker查询当前容器的镜像

命令
docker inspect 容器ID或名称
docker inspect --format='{{.Config.Image}}' 容器ID或名称
说明
查询指定容器的详细信息。
查询指定容器使用的镜像名称。通过 --format 选项可以指定输出的格式,这里显示容器使用的镜像名称。

3.8 docker查看容器运行的日志

命令说明
docker logs 容器ID查看指定容器的标准输出日志。
docker logs --tail 数字 容器ID查看容器的最后几行日志,数字为要查看的行数。例如 docker logs --tail 100 容器ID 查看最后100行日志。
docker logs -f 容器ID实时跟踪(follow)指定容器的日志输出,类似于 tail -f 命令。
docker logs --since 时间 容器ID查看指定时间之后的容器日志。时间可以是相对时间(如 1h 表示一小时前)或者具体的日期时间。例如 docker logs --since 2023-01-01T00:00:00 容器ID
docker logs --until 时间 容器ID查看指定时间之前的容器日志。时间格式同上。例如 docker logs --until 2023-01-01T00:00:00 容器ID

3.9 docker 将文件拷贝到容器中、以及将文件拷贝出

命令描述
docker cp <源路径> <容器名称或ID>:<目标路径>将主机上的文件或目录复制到运行中的容器中的目标路径。
docker cp <容器名称或ID>:<源路径> <目标路径>从运行中的容器中复制文件或目录到主机上的目标路径。

3.10 docker run 容器相关命令

命令解释案例
docker run -d centos在后台运行一个新的 CentOS 容器。docker run -d centos
docker run -d --name my_container centos在后台运行一个名为 my_container 的新的 CentOS 容器。docker run -d --name my_container centos
docker run -d -p 8080:80 centos在后台运行一个新的 CentOS 容器,并将主机的 8080 端口映射到容器的 80 端口。docker run -d -p 8080:80 centos
docker run -d -v /host/path:/container/path centos在后台运行一个新的 CentOS 容器,并将主机的路径挂载到容器的路径。docker run -d -v /data:/data centos
docker run -d --rm centos在后台运行一个新的 CentOS 容器,容器在停止后会自动删除。docker run -d --rm centos
docker run -d --network=my_network centos在后台运行一个新的 CentOS 容器,并连接到指定的网络 my_networkdocker run -d --network=my_network centos
docker run -d -e "ENV_VAR=value" centos在后台运行一个新的 CentOS 容器,并设置环境变量 ENV_VARdocker run -d -e "ENV_VAR=test" centos
docker run -d --restart=always centos在后台运行一个新的 CentOS 容器,并设置容器总是自动重启。docker run -d --restart=always centos
docker run -d --log-driver=json-file centos在后台运行一个新的 CentOS 容器,并将日志驱动设置为 json-file。docker run -d --log-driver=json-file centos
docker run -d --cpu-shares=512 centos在后台运行一个新的 CentOS 容器,并限制其 CPU 使用份额为 512(默认是 1024)。docker run -d --cpu-shares=512 centos
docker run -d --memory="256m" centos在后台运行一个新的 CentOS 容器,并限制其内存使用为 256MB。docker run -d --memory="256m" centos

3.11 docker 容器中的进程信息和元数据

命令解释案例
docker inspect <container_id>查看指定容器的详细配置信息和元数据。docker inspect my_container
docker stats <container_id>实时查看指定容器的资源使用情况,包括 CPU、内存、网络和磁盘 I/O。docker stats my_container
docker top <container_id>查看指定容器中运行的进程信息。docker top my_container
docker diff <container_id>查看指定容器文件系统的更改,包括新增、修改和删除的文件。docker diff my_container
docker inspect --format='{{.State.Pid}}' <container_id>获取指定容器的主进程 ID (PID)。docker inspect --format='{{.State.Pid}}' my_container
docker exec -it <container_id> ps aux在指定容器中运行 ps aux 命令以查看所有进程信息。docker exec -it my_container ps aux
docker exec -it <container_id> top在指定容器中运行 top 命令以动态查看系统进程情况。docker exec -it my_container top
docker exec -it <container_id> <command>在指定容器中运行任意命令,例如 bash 进入容器内部。docker exec -it my_container /bin/bash

4. docker镜像操作

4.1 docker查看本地镜像

命令描述
docker images显示本地主机上所有的镜像。
docker history查看镜像历史信息。
docker image ls同样用于显示本地主机上所有的镜像,是 docker images 的别名。
docker images -q只显示镜像的id
docker image ls -a显示包括中间镜像在内的所有镜像,而不仅仅是顶层镜像。
docker image ls --digests显示每个镜像的摘要信息(digest),包括用于验证镜像内容的哈希值。
docker image ls --format按照指定的格式显示镜像信息,可以自定义输出的字段和格式。
docker image ls --filter根据指定的条件过滤显示的镜像,例如根据标签(tag)、大小(size)等进行过滤。

镜像信息字段的含义和示例:

字段描述示例
REPOSITORY镜像的仓库源ubuntu, nginx, myapp
TAG镜像的标签latest, 1.0, dev
IMAGE ID镜像的唯一标识符sha256:abc123def456
CREATED镜像的创建时间2 months ago, 2023-01-01 12:00
SIZE镜像的大小200 MB, 1.5 GB

4.2 docker搜索镜像命令

命令描述
docker search <关键词>在 Docker Hub 上搜索与指定关键词匹配的镜像。
docker search --filter使用过滤器来精确搜索镜像,例如按照星级、官方镜像等进行筛选。
docker search --format指定输出的格式,自定义显示搜索结果的字段和格式。

常用案例:

序号案例
1搜索官方的 Ubuntu 镜像并按照星级排序
2查找自动构建的 Node.js 镜像
3按操作系统和架构筛选 Docker Hub 上的镜像
4查找所有包含 Python 的官方镜像,并输出为 JSON 格式
5显示所有具有指定创建日期之后的镜像
6查找 Docker Hub 上所有名称包含 nginx 的镜像,并输出为 YAML 格式
序号命令
1docker search --filter "is-official=true" --filter "stars=3" --format "table {{.Name}}\t{{.Stars}}\t{{.Description}}" ubuntu
2docker search --filter "is-automated=true" --format "table {{.Name}}\t{{.Description}}" node
3docker search --filter "os=linux" --filter "architecture=amd64" --format "table {{.Name}}\t{{.Description}}"
4docker search --filter "is-official=true" --format "json" python
5docker search --filter "since=2023-01-01" --format "table {{.Name}}\t{{.Description}}"
6docker search

4.3 docker下载镜像

操作命令示例描述
拉取镜像docker pull nginx拉取最新版本的 Nginx 镜像
拉取特定版本的镜像docker pull nginx:1.19.10拉取指定版本(1.19.10)的 Nginx 镜像
拉取多架构的镜像docker pull arm32v7/nginx拉取适用于 ARM 架构的 Nginx 镜像
从私有仓库拉取镜像docker pull registry.example.com/myimage从私有 Docker 仓库拉取指定镜像
查看本地已有的镜像列表docker images列出本地所有已下载的 Docker 镜像

Docker 常见镜像名称及其相应的 docker pull 命令示例:

软件包Docker 镜像名称命令示例
Nginxnginxdocker pull nginx
MySQL 数据库mysqldocker pull mysql
PostgreSQL 数据库postgresdocker pull postgres
MongoDBmongodocker pull mongo
Redisredisdocker pull redis
Node.jsnodedocker pull node
Pythonpythondocker pull python
Java (OpenJDK)openjdkdocker pull openjdk
PHPphpdocker pull php
Elasticsearchelasticsearchdocker pull elasticsearch
Grafanagrafana/grafanadocker pull grafana/grafana
Jenkinsjenkins/jenkinsdocker pull jenkins/jenkins
WordPresswordpressdocker pull wordpress
CentOS Linuxcentosdocker pull centos
Alpine Linuxalpinedocker pull alpine
Ubuntu Linuxubuntudocker pull ubuntu

4.4 docker删除镜像

命令示例操作
docker rmi 镜像ID1 镜像ID2 ...删除单个或多个镜像
docker rmi -f 镜像ID1 镜像ID2 ...强制删除单个或多个镜像
docker rmi $(docker images -aq)删除所有镜像(包括未被使用的镜像)
docker rmi -f $(docker images -q)删除所有镜像及其关联的容器
  • 14
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值