2026-02-04 23:55:17
Docker 是一种让开发者将应用及其依赖打包到轻量级、可移植容器中,并发布到任何流行 Linux 机器上的技术,同时支持虚拟化,核心优势是简化环境部署,实现“一键启动”。以下从核心概念、安装配置、镜像管理、容器操作四个方面展开介绍:
为什么要用 Docker传统程序运行需手动部署复杂环境,例如运行 Home Assistant(HA)需配置 Python 环境,运行 Web 站点需部署 PHP、MySQL 等。Docker 通过容器化技术,将应用及其依赖封装为独立单元,用户无需单独部署环境,只需通过简单命令(如 docker run)即可启动应用,极大简化了开发、测试和部署流程,尤其适合追求效率的“懒人”场景。

Docker 是一种开源的容器化技术,允许开发者将应用及其依赖(如库、配置文件)打包到轻量级、可移植的容器中。容器基于 Linux 内核特性(如 Cgroups、Namespace)实现资源隔离,与虚拟机(VM)相比,容器不依赖完整操作系统,启动更快、资源占用更低,且可跨环境一致运行。
Docker 安装与配置安装命令:在基于 Debian/Ubuntu 的 Linux 系统中,使用以下命令安装 Docker:
apt-get install docker.io
启动服务:安装完成后,通过以下命令启动 Docker 服务:
systemctl start docker # 或 service docker start开机自启:设置 Docker 随系统启动自动运行:
systemctl enable docker执行后系统会提示配置已生效,实际调用 /usr/lib/systemd/systemd-sysv-install enable docker 完成设置。
镜像概念:镜像类似操作系统的“安装盘”,包含应用运行所需的所有文件和配置。例如,要在 Linux 中运行 Windows 11,需拉取与系统架构匹配的 Windows 11 镜像。
拉取镜像:使用 docker pull 命令从镜像仓库(如 Docker Hub)下载镜像。例如,拉取最新版 Home Assistant 镜像:
docker pull homeassistant/home-assistant:latest其中 homeassistant/home-assistant 为镜像名称,latest 为版本标签(可指定具体版本如 2023.1.1)。
镜像加速:国内用户拉取镜像可能较慢,可通过修改 /etc/docker/daemon.json 配置镜像加速源:
{ "registry-mirrors": [ "修改后重启 Docker 服务生效:
systemctl restart docker
容器概念:容器是镜像的运行实例,类似“箱子”,将镜像封装在独立环境中,各容器互不干扰。例如,多个 Web 应用可运行在不同容器中,共享主机资源但隔离运行。

创建容器:使用 docker run 命令基于镜像创建并启动容器。例如,创建名为 hass 的 Home Assistant 容器:
docker run -d --name="hass" -v /root/hassistant:/config -p 8123:8123 homeassistant/home-assistant:latest参数说明:
-d:后台运行容器。
--name:指定容器名称(自定义)。
-v:挂载主机目录到容器内,实现数据持久化(如 /root/hassistant:/config 将主机目录映射到容器配置目录)。
-p:映射容器端口到主机端口(如 8123:8123 将容器 8123 端口映射到主机 8123 端口)。
常用命令:
启动容器:
docker start hass # hass为容器名称重启容器:
docker restart hass设置容器开机自启:
docker update --restart=always hass
Docker 通过容器化技术解决了环境依赖问题,核心流程包括:安装配置 Docker、拉取镜像、创建并管理容器。其优势在于轻量级、可移植和快速部署,适用于开发、测试、生产全流程。掌握镜像和容器操作后,可进一步探索 Docker Compose(多容器编排)、网络配置等高级功能。