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版(蓝奏云下载地址)直接下载永久保存,不限速,方便随时查阅

资源预览:

相关推荐
mit6.8241 小时前
[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题
linux·运维·docker·容器·架构
qq_167401511 小时前
Docker 组添加用户,设置允许普通用户操作 docker
docker·容器
Z1eaf_complete1 小时前
Docker的基础使用
运维·docker·容器·云计算
想学习java初学者4 小时前
Docker compose部署elasticsearch(单机版)
运维·docker·容器
WEIII5 小时前
MySQL 主从复制原理与搭建实践
后端·mysql·docker
微刻时光5 小时前
Docker部署Nginx
运维·nginx·docker·容器·经验
小安运维日记6 小时前
CKA认证 | Day3 K8s管理应用生命周期(上)
运维·云原生·容器·kubernetes·云计算·k8s
陈小肚6 小时前
k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
docker·容器·kubernetes
A陈雷6 小时前
springboot整合elasticsearch,并使用docker desktop运行elasticsearch镜像容器遇到的问题。
spring boot·elasticsearch·docker