Docker 命令总结:从入门到入土

前言

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。下面是一些常用的 Docker 命令总结

Docker 安装与服务管理

在开始使用 Docker 之前,确保 Docker 已经安装在您的系统上。安装完成后,您可以使用以下命令来管理 Docker 服务:

  • 启动 Docker 服务 :

    bash 复制代码
    systemctl start docker
  • 重启 Docker 服务 :

    bash 复制代码
    systemctl restart docker
  • 停止 Docker 服务 :

    bash 复制代码
    systemctl stop docker
  • 查看 Docker 服务状态 :

    bash 复制代码
    systemctl status docker
  • 设置 Docker 开机启动 :

    bash 复制代码
    systemctl enable docker

Docker 镜像管理

镜像是 Docker 的核心概念之一,它是用来创建 Docker 容器的基础。您可以使用以下命令来管理 Docker 镜像:

  • 列出所有镜像 :

    bash 复制代码
    docker images
  • 删除特定镜像 :

    bash 复制代码
    docker rmi 镜像ID
  • 搜索 Docker Hub 上的镜像 :

    bash 复制代码
    docker search 关键词
  • 从 Docker Hub 下载镜像 :

    bash 复制代码
    docker pull 镜像名[:标签]
  • 导出镜像到 tar 文件 :

    bash 复制代码
    docker save -o [目标文件名] [镜像名]
  • 从 tar 文件导入镜像 :

    bash 复制代码
    docker load -i 镜像文件

Docker 容器操作

容器是镜像的一个运行实例,您可以启动、停止、移动或删除它们。以下是几个常用的容器操作命令:

  • 列出所有正在运行的容器 :

    bash 复制代码
    docker ps
  • 列出所有容器(包括已停止的) :

    bash 复制代码
    docker ps -a
  • 创建并启动一个容器 :

    bash 复制代码
    docker run -id --name=容器名 镜像名
  • 进入一个正在运行的容器 :

    bash 复制代码
    docker exec -it 容器名 bash
  • 查看容器详细信息 :

    bash 复制代码
    docker inspect 容器名或容器ID
  • 查看容器日志 :

    bash 复制代码
    docker logs -f 容器名
  • 停止容器 :

    bash 复制代码
    docker stop 容器名
  • 启动已停止的容器 :

    bash 复制代码
    docker start 容器名
  • 删除容器 :

    bash 复制代码
    docker rm -f 容器名

Docker 数据卷管理

数据卷是在一个或多个容器间共享和持久化的存储区域。数据卷独立于容器的生命周期,因此即使容器被删除,数据卷中的数据仍然存在。

  • 创建数据卷 :

    bash 复制代码
    docker volume create 卷名
  • 列出所有数据卷 :

    bash 复制代码
    docker volume ls
  • 查看数据卷详细信息 :

    bash 复制代码
    docker volume inspect 卷名
  • 删除数据卷 :

    bash 复制代码
    docker volume rm 卷名
  • 删除所有未使用的数据卷 :

    bash 复制代码
    docker volume prune

Dockerfile 和 Docker Compose

Dockerfile

Dockerfile 是一个文本文件,其中包含了一系列命令,用户可以调用 docker build 命令来创建一个新的镜像。下面是一个简单的 Dockerfile 示例:

Dockerfile 复制代码
FROM java:8-alpine
COPY ./docker-demo.jar /tmp/app.jar
EXPOSE 8090
ENTRYPOINT ["java", "-jar", "/tmp/app.jar"]
  • 基于 Dockerfile 构建镜像 :

    bash 复制代码
    docker build -t 镜像名:标签 .

Docker Compose

Docker Compose 允许您使用 YAML 文件定义和运行多容器 Docker 应用程序。使用单个 docker-compose.yml 文件来配置应用程序的服务。然后,使用一个命令就可以创建和启动所有服务。

  • 启动 Docker Compose 项目 :

    bash 复制代码
    docker-compose up -d
  • 查看 Docker Compose 日志 :

    bash 复制代码
    docker-compose logs -f 服务名
  • 重启 Docker Compose 服务 :

    bash 复制代码
    docker-compose restart 服务名

私有仓库操作

如果您需要在私有仓库中管理镜像,可以使用以下命令:

  • 给本地镜像打标签 :

    bash 复制代码
    docker tag 镜像名:标签 私有仓库地址/镜像名:标签
  • 推送到私有仓库 :

    bash 复制代码
    docker push 私有仓库地址/镜像名:标签
  • 从私有仓库拉取镜像 :

    bash 复制代码
    docker pull 私有仓库地址/镜像名:标签

教程文档PDF版(蓝奏云下载地址)直接下载永久保存,不限速,方便随时查阅

资源预览:

相关推荐
MickeyCV11 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
棠十一11 小时前
Rabbitmq
分布式·docker·rabbitmq
藥瓿亭13 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_8097983213 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
嵌入式大圣13 小时前
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
运维·docker·容器
孔令飞13 小时前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes
极简网络科技15 小时前
Docker、Wsl 打包迁移环境
运维·docker·容器
杨浦老苏15 小时前
轻量级Docker管理工具Docker Switchboard
运维·docker·群晖
江湖有缘15 小时前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
一加一等于二15 小时前
docker部署postgresql17,并且安装插件
docker·postgresql