A. 镜像相关命令
docker build
:从 Dockerfile 构建镜像- 用法:
docker build -t <镜像名>:<标签> <Dockerfile路径>
- 示例: 假设有一个包含 Node. js 应用程序的 Dockerfile,可以运行以下命令来构建镜像:这将根据当前目录下的 Dockerfile 构建一个名为
1
docker build -t mynodeapp:latest .
mynodeapp
的镜像,并打上latest
标签。
- 用法:
docker pull
:从镜像仓库拉取镜像- 用法:
docker pull <镜像名>:<标签>
- 示例: 如果想从 Docker Hub 拉取一个 Ubuntu 的镜像,可以运行:这将拉取
1
docker pull ubuntu:20.04
ubuntu:20.04
镜像到的本地环境。
- 用法:
docker push
:将镜像推送到镜像仓库- 用法:
docker push <镜像名>:<标签>
- 示例: 假设已经登录到 Docker Hub,并构建了一个镜像
mynodeapp
,可以将其推送到 Docker Hub:这将1
docker push myusername/mynodeapp:latest
mynodeapp:latest
推送到 Docker Hub 仓库中。
- 用法:
docker images
:列出本地镜像- 用法:
docker images
- 示例: 运行以下命令可以查看本地所有的 Docker 镜像:输出将包括镜像名、标签、镜像 ID、创建时间以及镜像大小。
1
docker images
- 用法:
docker rmi
:删除镜像- 用法:
docker rmi <镜像ID>
- 示例: 要删除一个不再需要的镜像,可以运行:这将删除
1
docker rmi mynodeapp:latest
mynodeapp:latest
镜像。
- 用法:
docker history
:查看镜像的构建历史- 用法:
docker history <镜像名>:<标签>
- 示例: 查看
ubuntu:20.04
镜像的构建历史,可以运行:这将显示构建镜像时执行的每个步骤的历史记录。1
docker history ubuntu:20.04
- 用法:
docker tag
:为镜像打标签- 用法:
docker tag <源镜像名>:<源标签> <目标镜像名>:<目标标签>
- 示例: 为
mynodeapp
镜像打上新的标签:这将1
docker tag mynodeapp:latest mynodeapp:v1.0
mynodeapp:latest
标签的镜像重新标记为mynodeapp:v1.0
。
- 用法:
docker save
:将镜像保存为 tar 存档- 用法:
docker save -o <输出文件> <镜像名>:<标签>
- 示例: 将
mynodeapp:latest
镜像保存为mynodeapp.tar
文件:这将在当前目录生成1
docker save -o mynodeapp.tar mynodeapp:latest
mynodeapp.tar
文件,包含镜像的所有数据。
- 用法:
docker load
:从 tar 存档加载镜像- 用法:
docker load -i <tar文件>
- 示例: 加载之前保存的
mynodeapp.tar
镜像:这将加载镜像并使其在本地可用。1
docker load -i mynodeapp.tar
- 用法:
B. 容器相关命令
docker run
:创建并启动容器- 用法:
docker run [选项] <镜像名>
- 示例: 创建并启动一个 Ubuntu 容器并进入交互模式:这将启动一个 Ubuntu 容器并打开一个 Bash 终端。
1
docker run -it ubuntu:20.04 bash
- 用法:
docker start
:启动已停止的容器- 用法:
docker start <容器ID或容器名>
- 示例: 启动已停止的容器:这将启动名为
1
docker start mycontainer
mycontainer
的容器。
- 用法:
docker stop
:停止运行中的容器- 用法:
docker stop <容器ID或容器名>
- 示例: 停止正在运行的容器:这将停止名为
1
docker stop mycontainer
mycontainer
的容器。
- 用法:
docker restart
:重启容器- 用法:
docker restart <容器ID或容器名>
- 示例: 重启一个容器:这将停止并重新启动
1
docker restart mycontainer
mycontainer
容器。
- 用法:
docker ps
:列出正在运行的容器- 用法:
docker ps
- 示例: 查看当前运行的容器:输出将显示容器 ID、镜像、创建时间、状态、端口等信息。
1
docker ps
- 用法:
docker ps -a
:列出所有容器(包括已停止的)- 用法:
docker ps -a
- 示例: 查看所有容器(包括已停止的):输出将显示所有容器的完整列表。
1
docker ps -a
- 用法:
docker rm
:删除已停止的容器- 用法:
docker rm <容器ID或容器名>
- 示例: 删除一个已停止的容器:这将删除名为
1
docker rm mycontainer
mycontainer
的容器。
- 用法:
docker exec
:在运行中的容器内执行命令- 用法:
docker exec -it <容器ID或容器名> <命令>
- 示例: 在运行中的容器中执行命令并进入交互模式:这将在
1
docker exec -it mycontainer bash
mycontainer
容器中打开一个 Bash 终端。
- 用法:
docker logs
:查看容器的日志- 用法:
docker logs <容器ID或容器名>
- 示例: 查看
mycontainer
容器的日志输出:1
docker logs mycontainer
- 用法:
docker cp
:在容器和主机之间复制文件- 用法:
docker cp <源路径> <目标路径>
- 示例: 从容器复制文件到主机:
1
docker cp mycontainer:/path/to/file /host/path
- 用法:
docker attach
:连接到运行中的容器- 用法:
docker attach <容器ID或容器名>
- 示例: 连接到正在运行的容器:
1
docker attach mycontainer
- 用法:
docker inspect
:查看容器或镜像的详细信息- 用法:
docker inspect <容器ID或镜像ID>
- 示例: 查看容器的详细配置信息:
1
docker inspect mycontainer
- 用法:
docker top
:查看容器内运行的进程- 用法:
docker top <容器ID或容器名>
- 示例: 查看
mycontainer
容器内的运行进程:1
docker top mycontainer
- 用法:
docker stats
:查看容器的资源使用情况- 用法:
docker stats <容器ID或容器名>
- 示例: 实时查看容器的 CPU、内存、网络等资源使用情况:
1
docker stats mycontainer
- 用法:
C. 其他常用命令
docker version
:查看 Docker 版本信息- 用法:
docker version
- 示例: 查看 Docker 客户端和服务端的版本信息:
- 用法:
|
|
docker info
:查看 Docker 系统信息- 用法:
docker info
- 示例: 查看 Docker 系统的详细信息:
1
docker info
- 用法:
docker login
:登录到 Docker 镜像仓库- 用法:
docker login
- 示例: 登录到 Docker Hub,输入用户名和密码:
1
docker login
- 用法:
docker logout
:退出 Docker 镜像仓库- 用法:
docker logout
- 示例: 退出 Docker Hub:
1
docker logout
- 用法:
docker network
:管理 Docker 网络- 用法:
docker network <命令>
- 示例: 创建一个新的 Docker 网络:
1
docker network create mynetwork
- 用法:
docker volume
:管理 Docker 数据卷- 用法:
docker volume <命令>
- 示例: 创建一个新的 Docker 卷:
1
docker volume create myvolume
- 用法: