docker 之 基本命令

Docker镜像是一种轻量级、可执行的独立软件包,它包含了运行某个软件所需的所有内容,如代码、运行时库、环境变量和配置文件等。镜像可以被视为一个只读的模板,用于创建容器。

而Docker容器则是镜像的一个运行实例,可以将其理解为从镜像创建的应用运行实例。容器可以被启动、停止、删除,并且每个容器都是相互隔离的,拥有自己的文件系统、进程空间、网络空间等。容器内的应用程序可以与主机和其他容器进行通信,但彼此之间的资源和状态是隔离的。这种隔离性确保了容器化应用的安全性和稳定性。

1. start 和 run 的区别

docker run 只在第一次 运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令 docker start 即可。docker run相当于执行了两步操作:将镜像放入容器中(docker

create),然后将容器启动,使之变成运行时容器(docker start)。

而docker

start的作用是,重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用 docker ps 找到这个容器的信息

2. docker 常用命令

2.1. 镜像命令:

bash 复制代码
docker images:列出本地主机上的所有镜像。
docker pull <镜像名>:<标签>:从Docker Hub上下载镜像。
docker rmi <镜像ID> 或 docker rmi <镜像名>:<标签>:删除指定的镜像。
docker save -o <输出文件路径> <镜像名>:<标签>:将镜像保存为tar文件。
docker load -i <输入文件路径>:从tar文件中加载镜像。

2.2. 容器命令:

bash 复制代码
docker ps:列出当前正在运行的容器。
docker ps -a:列出所有的容器,包括未运行的。
docker run <镜像名>:<标签>:创建并启动容器。
docker start <容器ID> 或 docker start <容器名>:启动已存在的容器。
docker stop <容器ID> 或 docker stop <容器名>:停止正在运行的容器。
docker restart <容器ID> 或 docker restart <容器名>:重启容器。
docker rm <容器ID> 或 docker rm <容器名>:删除容器。
docker exec -it <容器ID> /bin/bash:进入正在运行的容器内部。
docker logs <容器ID> 或 docker logs <容器名>:查看容器的日志。

2.3. 其他常用命令:

bash 复制代码
docker version:查看Docker版本信息。
docker info:查看Docker系统信息,包括容器和镜像的数量等。
docker search <关键词>:在Docker Hub上搜索镜像。
docker build -t <镜像名>:<标签> <Dockerfile所在路径>:根据Dockerfile构建镜像。

3. docker inspect

docker inspect 是Docker中用于查看容器或镜像详细信息的关键命令。通过此命令,可以获取有关Docker对象的详细信息,包括容器、镜像、网络等。

  • 命令格式:
bash 复制代码
docker inspect [OPTIONS] NAME|ID [NAME|ID...]

其中,OPTIONS表示命令选项,可以指定一些特定的属性,例如--format、--type等;NAME|ID表示要查看的Docker对象的名称或ID,可以同时查看多个对象的信息。

  • 常用的命令字段:

    -f, --format:指定输出格式,可以使用Go模板语言自定义输出格式。

    --type:指定要查看的Docker对象类型,包括container(容器)、image(镜像)、network(网络)、volume(卷)等。

    --size:显示Docker对象的磁盘使用情况。

    -v, --verbose:显示更详细的信息。

  • 自定义格式输出

bash 复制代码
docker inspect --format='{{.NetworkSettings.IPAddress}}' <容器名称或ID>
相关推荐
运维全栈笔记9 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc11 小时前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
AI木马人11 小时前
9.人工智能实战:GPU 服务如何上 Kubernetes?从单机部署到 K8s + NVIDIA Device Plugin + HPA 的生产级改造
人工智能·容器·kubernetes
身如柳絮随风扬18 小时前
使用 Docker 部署禅道并实现自动化部署——从项目搭建到运维自动化的完整指南
运维·docker·自动化
eRTE XFUN19 小时前
docker下搭建redis集群
redis·docker·容器
一只小bit19 小时前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器
都在酒里20 小时前
在公共服务器上构建 RK3588 SDK 的纯净 Docker 方案
运维·服务器·docker
jeCA EURG20 小时前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
身如柳絮随风扬20 小时前
使用 Docker 部署 Jenkins 并实现自动化部署 —— 从零到一的 CI/CD 实践指南
docker·自动化·jenkins
就叫飞六吧20 小时前
docker快速启动sqlserver实例并自动测试shell脚本
docker·容器·sqlserver