Docker 备忘单

发布:2024-10-18 16:34 阅读:17 点赞:0

Docker 是一个开源的应用容器引擎,允许开发者打包他们的应用以及依赖包(例如库、环境变量、配置文件等)到一个轻量级的、可移植的容器中,然后发布到任何流行的 Linux 或 Windows 操作系统上。下面是一些常用的 Docker 命令,帮助你快速入门。

一、开始使用 Docker

检查 Docker 安装

# 查看 Docker 版本
docker --version

基本命令

从 Docker Hub 拉取镜像

# 从 Docker Hub 下载指定的镜像
docker pull <image-name>
示例
# 下载 Ubuntu 镜像
docker pull ubuntu

列出可用的镜像

# 显示本地机器上所有的 Docker 镜像
docker images

运行容器

# 启动一个交互式的容器
docker run -it <image-name>
示例
# 启动一个交互式的 Ubuntu 容器
docker run -it ubuntu

以分离模式运行容器

# 后台运行容器
docker run -d <image-name>

停止正在运行的容器

# 停止指定的容器
docker stop <container-id>

启动已停止的容器

# 启动一个之前停止的容器
docker start <container-id>

移除已停止的容器

# 删除指定的容器
docker rm <container-id>

移除镜像

# 删除指定的镜像
docker rmi <image-name>

二、管理容器

列出运行中的容器

# 显示所有正在运行的容器
docker ps

列出所有容器(包括停止的)

# 显示所有容器,无论是否正在运行
docker ps -a

查看容器日志

# 查看指定容器的日志输出
docker logs <container-id>

在运行的容器中执行命令

# 在指定容器中打开一个交互式的 shell
docker exec -it <container-id> <command>
示例
# 在容器中启动 bash shell
docker exec -it <container-id> bash

检查容器

# 获取关于容器的详细信息
docker inspect <container-id>

三、网络管理

列出 Docker 网络

# 显示所有 Docker 网络
docker network ls

创建一个新的网络

# 创建一个名为 <network-name> 的网络
docker network create <network-name>

将容器连接到网络

# 将容器连接到指定的网络
docker network connect <network-name> <container-id>

断开容器与网络的连接

# 断开容器与指定网络的连接
docker network disconnect <network-name> <container-id>

四、卷和数据管理

创建卷

# 创建一个名为 <volume-name> 的卷
docker volume create <volume-name>

列出卷

# 显示所有卷
docker volume ls

移除卷

# 删除指定的卷
docker volume rm <volume-name>

将卷挂载到容器

# 将卷挂载到容器的指定路径
docker run -v <volume-name>:<container-path> <image-name>

五、Dockerfile 和构建镜像

创建 Dockerfile

# Dockerfile 的基本结构
FROM <base-image>
# 维护者信息
MAINTAINER <your-name>
# 复制文件或目录到容器
COPY <source> <destination>
# 执行命令
RUN <command>
# 默认执行命令
CMD ["<executable>"]

构建镜像

# 从 Dockerfile 构建镜像
docker build -t <image-name>:<tag> .
示例
# 构建并标记镜像为 myapp:latest
docker build -t myapp:latest .

列出构建的镜像

# 显示本地机器上所有的 Docker 镜像
docker images

六、高级命令

标记镜像

# 为镜像添加标签
docker tag <image-id> <new-image-name>:<tag>

推送镜像到 Docker Hub

# 将镜像推送到 Docker Hub
docker push <image-name>:<tag>

将镜像保存为 tar 文件

# 将镜像导出为 tar 文件
docker save -o <path-to-output-file> <image-name>

从 tar 文件加载镜像

# 从 tar 文件导入镜像
docker load -i <path-to-input-file>

七、Docker Compose

启动服务

# 启动 Docker Compose 文件定义的服务
docker-compose up

停止服务

# 停止 Docker Compose 文件定义的服务
docker-compose down

扩展服务

# 扩展指定服务的实例数量
docker-compose up --scale <service-name>=<number>

查看运行中的 Docker Compose 服务

# 显示 Docker Compose 文件定义的服务状态
docker-compose ps

八、有用的 Docker 命令

移除所有已停止的容器

# 删除所有已停止的容器
docker container prune

移除未使用的镜像

# 删除所有未使用的镜像
docker image prune

移除所有未使用的数据(容器、网络、镜像)

# 清理所有未使用的数据
docker system prune

获取 Docker 系统信息

# 显示 Docker 系统信息
docker info

以上命令涵盖了 Docker 的基础使用,希望对你在使用 Docker 时有所帮助。