随笔分类 - 黄嘉波-笔记汇总 / Docker:
摘要:在 Dockerfile 中,ADD 和 COPY 都用于将文件或目录从宿主机复制到镜像中,但它们在功能和使用场景上有一些关键区别。以下是它们的详细对比: 1. 基本功能 1.1 COPY: 用于将宿主机上的文件或目录复制到镜像的指定路径。 功能相对简单,主要处理文件和目录的复制操作。 不支持自动解
阅读全文
摘要:在 Dockerfile 中,ADD 和 COPY 都用于将文件或目录从宿主机复制到镜像中,但它们在功能和使用场景上有一些关键区别。以下是它们的详细对比: 1. 基本功能 1.1 COPY: 用于将宿主机上的文件或目录复制到镜像的指定路径。 功能相对简单,主要处理文件和目录的复制操作。 不支持自动解
阅读全文
摘要:在 Dockerfile 中,CMD 和 ENTRYPOINT 是两个用于定义容器启动时默认执行命令的指令,但它们在功能和使用场景上有明显的区别。以下是它们的详细对比: 1. 基本定义 1.1 CMD: 用于为容器指定默认的启动命令。 如果用户在运行容器时没有指定其他命令,CMD 指定的命令会被执行
阅读全文
摘要:在运维工作中,查看容器日志并持续显示日志是一个常见的需求。以下是几种常用的方法和工具: 1. 使用 docker logs 命令 docker logs 是查看 Docker 容器日志的常用工具,支持多种参数以实现持续显示日志: 基本命令:docker logs -f <容器名称或ID> 使用 -f
阅读全文
摘要:在运维工作中,当 Docker 容器突然挂掉时,可以通过以下步骤进行排查和解决: 1. 检查容器日志 容器日志是排查问题的第一步。日志可以提供关于服务运行情况的详细信息,帮助快速定位问题。 查看日志: docker logs <container_id_or_name> 如果日志信息较多,可以通过
阅读全文
摘要:在运维工作中,Docker主要通过两种关键技术——命名空间(Namespaces)和控制组(cgroups)——来实现资源的封闭和隔离。以下是Docker封闭的主要资源类型及其具体实现方式: 1. 通过命名空间实现资源隔离 命名空间是Linux内核提供的一种资源隔离方案,它使得一组进程能够拥有自己独
阅读全文
摘要:在运维工作中,传统虚拟化(如 VMware、Hyper-V、KVM 等)和 Docker 容器化是两种常见的虚拟化技术,它们在架构、性能、资源利用率、启动速度等方面存在显著区别。以下是它们的详细对比: 1. 架构设计 1.1 传统虚拟化 架构:传统虚拟化技术基于 Hypervisor(虚拟机监视器)
阅读全文
摘要:在运维工作中,清理 Docker 容器的磁盘空间是一个常见的任务,因为随着时间的推移,未使用的镜像、容器、卷和网络会占用大量磁盘空间。以下是一些清理 Docker 磁盘空间的常用方法和最佳实践: 1. 清理未运行的容器 未运行的容器会占用磁盘空间,可以通过以下命令清理: 1.1 删除所有未运行的容器
阅读全文
摘要:在运维工作中,Dockerfile 是构建 Docker 镜像的关键配置文件。它通过一系列指令定义了如何构建镜像,包括安装依赖、设置环境变量、复制文件等。以下是一些常见的 Dockerfile 指令及其用途: 1. FROM 用途:指定基础镜像(Base Image),所有 Dockerfile 必
阅读全文
摘要:在运维工作中,查看 Docker 镜像是管理容器化应用的基础操作之一。Docker 提供了多种命令和工具来查看镜像的详细信息,包括镜像列表、镜像大小、创建时间、镜像的分层结构等。以下是详细的操作方法和常用命令: 1. 查看本地镜像列表 (1)docker images 这是查看本地镜像的基本命令,用
阅读全文
摘要:在运维工作中,使用 Docker 镜像启动容器是日常操作之一。Docker 提供了多种命令和参数用于启动容器,这些命令和参数可以根据实际需求灵活组合,实现不同的功能和配置。以下是关于如何使用镜像启动容器的详细说明,包括常用命令、参数及其作用。 1. 基本命令:docker run docker ru
阅读全文
摘要:在运维工作中,Dockerfile 是构建 Docker 容器的基础配置文件。它是一个文本文件,包含了一系列的指令和参数,用于定义如何构建 Docker 镜像。通过 Dockerfile,可以将应用及其依赖打包到一个可移植的镜像中,从而实现容器化部署。 以下是 Dockerfile 的主要用途、结构
阅读全文
摘要:在运维工作中,掌握 Docker 的基本命令是管理容器化应用的基础。以下是一些常用的 Docker 命令及其详细说明,这些命令涵盖了容器的生命周期管理、镜像操作、网络配置等关键任务。 1. Docker 镜像操作 (1)拉取镜像 docker pull <image_name>:<tag> 作用:从
阅读全文
摘要:在运维工作中,Docker的运行状态主要包括以下几种: 运行中 含义:容器正在正常运行,内部的应用程序处于活动状态。 查看方式:使用docker ps命令可以列出当前正在运行的所有容器,包括容器ID、镜像、命令、创建时间、状态、端口等信息。例如,执行sudo docker ps命令后,会显示类似如下
阅读全文
摘要:在运维工作中,Docker 和 KVM 是两种常见的虚拟化技术,但它们在实现方式、应用场景和性能特点上有显著区别。以下是它们的详细对比: 1. 基本概念 Docker: 是一种基于容器化(Containerization)的虚拟化技术。 它通过操作系统的内核特性(如 Linux 的 Namespac
阅读全文
摘要:在运维工作中,Docker 是一种非常重要的工具,它通过容器化技术为应用的开发、部署和运行提供了极大的便利。以下是 Docker 在运维工作中的主要作用和优势: 1. 环境一致性 Docker 的核心优势之一是能够确保开发、测试和生产环境的一致性。通过 Docker 容器,可以将应用及其依赖打包到一
阅读全文
摘要:Docker的主要配置文件通常位于Linux系统的 /etc/docker/ 目录下,关键的配置文件是 daemon.json。这个文件用于配置Docker守护进程(Docker Daemon)的各项参数,包括但不限于数据存储位置、网络设置、日志配置、信任代理等。 查找和修改Docker配置文件的步
阅读全文
摘要:在Docker中,你可以通过多种方式来控制容器对系统资源(如CPU和内存)的使用份额,以确保容器不会过度消耗宿主机的资源,并与其他容器公平地共享资源。以下是一些常用的方法: 一. 控制CPU资源 CPU份额(CPU Shares): Docker使用CPU份额来分配CPU时间。默认情况下,所有容器具
阅读全文
摘要:在Docker容器中虽然理论上可以运行多个应用进程,但实际上这并不符合Docker设计的最佳实践。Docker容器的核心理念是每个容器应该只包含一个主要的应用服务进程,这一理念被称为“单进程容器”模型。每个容器都应该围绕应用的一个具体服务或功能进行构建,使得容器更加轻量、易于管理和隔离。 然而,在实
阅读全文
摘要:在Docker中,默认后台运行的应用容器并不会直接将其输出显示在宿主机的控制台窗口上,但是Docker提供了几种方法来查看这些容器的输出和日志信息: 使用 docker logs 命令: 这是最常用的方法,用于查看容器的标准输出(stdout)和标准错误(stderr)。你可以使用以下命令查看容器的
阅读全文