Docker 镜像与容器等核心命令全解析及示例
-
镜像相关命令
-
拉取镜像
- 命令格式:
docker pull [选项] [镜像名称:标签] - 示例:
docker pull ubuntu:latest,这会从Docker官方仓库拉取最新版本(标签为latest)的Ubuntu镜像。你还可以指定镜像仓库,例如从阿里云镜像仓库拉取镜像docker pull registry.cn - hangzhou.aliyuncs.com/your - repository/your - image:tag。
- 命令格式:
-
查看本地镜像
- 命令格式:
docker images [选项] - 示例:
docker images会列出本地所有的镜像,包括镜像ID、仓库名称、标签、镜像大小等信息。你可以使用-q选项只列出镜像ID,如docker images -q,这在需要批量操作镜像ID时很有用。
- 命令格式:
-
删除本地镜像
- 命令格式:
docker rmi [选项] [镜像名称|镜像ID] - 示例:
docker rmi ubuntu:latest会删除本地标记为latest的Ubuntu镜像。如果要删除多个镜像,可以在命令后跟上多个镜像名称或镜像ID,如docker rmi image1 image2。如果镜像正在被容器使用,需要先删除使用该镜像的容器才能成功删除镜像。
- 命令格式:
-
构建镜像
- 命令格式:
docker build [选项] [上下文路径] - 示例:通常需要在包含
Dockerfile的目录下执行构建命令。假设当前目录下有Dockerfile,可以使用docker build -t your - image - name:your - tag.(注意最后的.表示当前目录是构建上下文)来构建一个名为your - image - name,标签为your - tag的镜像。在构建过程中可以通过-f选项指定Dockerfile的位置,如docker build -f /path/to/Dockerfile -t another - image - name:tag /another - context - path。
- 命令格式:
-
-
容器相关命令
-
创建并启动容器
- 命令格式:
docker run [选项] [镜像名称|镜像ID] [命令] - 示例:
docker run -d -p 80:80 nginx,这会在后台(-d选项)创建并启动一个基于nginx镜像的容器,将容器的80端口映射到主机的80端口(-p选项),这样通过主机的80端口就可以访问容器内的nginx服务。
- 命令格式:
-
查看运行中的容器
- 命令格式:
docker ps [选项] - 示例:
docker ps会列出当前正在运行的容器,包括容器ID、镜像名称、创建时间、状态、端口等信息。使用docker ps -a可以列出所有容器(包括已停止的容器)。
- 命令格式:
-
停止容器
- 命令格式:
docker stop [容器ID|容器名称] - 示例:
docker stop container - id会正常停止指定的容器。如果要强制停止容器,可以使用docker kill [容器ID|容器名称]命令。
- 命令格式:
-
进入容器
- 命令格式:
docker exec [选项] [容器ID|容器名称] [命令] - 示例:
docker exec -it container - id /bin/bash,-it选项用于以交互模式(-i)和终端模式(-t)进入容器,然后在容器内执行/bin/bash命令,这使得用户可以在容器内部的命令行环境中进行操作。
- 命令格式:
-
删除容器
- 命令格式:
docker rm [选项] [容器ID|容器名称] - 示例:
docker rm container - id会删除指定的容器。如果容器正在运行,需要先停止容器才能删除。也可以使用docker rm -f [容器ID|容器名称]来强制删除正在运行的容器。
- 命令格式:
-
-
容器网络相关命令
- 查看容器网络信息
- 命令格式:
docker network inspect [网络名称|网络ID] - 示例:
docker network inspect bridge会查看名为bridge的默认网络的详细信息,包括连接到该网络的容器、网络配置等内容。
- 命令格式:
- 创建自定义网络
- 命令格式:
docker network create [选项] [网络名称] - 示例:
docker network create -d bridge my - network会创建一个名为my - network的桥接(bridge)类型的网络。你还可以创建其他类型的网络,如overlay网络用于跨主机容器通信等。
- 命令格式:
- 查看容器网络信息
-
容器存储相关命令
- 查看容器卷信息
- 命令格式:
docker volume inspect [卷名称|卷ID] - 示例:
docker volume inspect my - volume会查看名为my - volume的容器卷的详细信息,包括挂载点、驱动程序等内容。
- 命令格式:
- 创建容器卷
- 命令格式:
docker volume create [卷名称] - 示例:
docker volume create data - volume会创建一个名为data - volume的容器卷,用于在容器和主机之间或者容器与容器之间共享数据。
- 命令格式:
- 查看容器卷信息
-
其他常用命令
- 查看Docker系统信息
- 命令格式:
docker info - 示例:
docker info会显示Docker系统的各种信息,如服务器版本、存储驱动、内核版本、容器数量等,这对于了解Docker系统的整体状态很有帮助。
- 命令格式:
- 登录Docker仓库
- 命令格式:
docker login [选项] [服务器地址] - 示例:
docker login会提示用户输入用户名和密码,登录到Docker官方仓库。如果要登录到其他仓库,如企业内部的私有仓库,可以指定仓库地址,如docker login registry.example.com。
- 命令格式:
- 查看Docker系统信息
浙公网安备 33010602011771号