【收藏级】Docker怎么用全套配置模板与脚本

2026-08-07 来源: 点击量

Docker 就像是一个神奇的“集装箱”,它能把你的程序代码以及运行所需的所有环境(如系统库、配置文件等)全部打包在一起。这样,无论这个“集装箱”被搬到哪台电脑上,程序都能以完全相同的方式运行,彻底告别了“在我的电脑上明明能跑”的尴尬。

【收藏级】Docker怎么用全套配置模板与脚本

对于初学者来说,掌握 Docker 只需要记住以下几个核心步骤和概念:

一、 Docker 的核心工作流

使用 Docker 通常遵循以下四个步骤:

拉取镜像(Pull):从远程仓库下载别人做好的“集装箱”(镜像)。

运行容器(Run):启动镜像,生成一个正在运行的“集装箱实例”(容器)。

进入容器(Exec):如果需要调试,可以进入正在运行的容器内部查看。

停止与清理(Stop/Rm):使用完毕后,停止并删除容器以释放资源。

二、 常用基础命令速查

以下是日常使用中最核心的命令:

拉取镜像:docker pull 镜像名称:标签(例如 docker pull nginx:latest)

运行容器:docker run -d -p 宿主机端口:容器端口 --name 容器名 镜像名称

-d:后台运行

-p:端口映射(将容器内的端口暴露给宿主机)

--name:给容器起个名字

查看运行中的容器:docker ps

进入容器内部:docker exec -it 容器名 /bin/bash

停止/启动/删除容器:docker stop 容器名 / docker start 容器名 / docker rm 容器名

三、 实战演练:用 Docker 部署 Elasticsearch

结合你之前关注的 Elasticsearch,我们可以用 Docker 在几分钟内搭建一个本地学习环境,完全不需要在本地安装复杂的 Java 环境。

1. 创建专属网络并拉取镜像

首先创建一个 Docker 网络,方便后续组件通信,然后拉取 ES 官方镜像(这里以 8.12.2 版本为例):

bash

编辑

1docker network create elastic

2docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2

2. 一键启动 ES 容器

使用以下命令启动一个单节点的 ES 实例。这里我们设置了初始内存为 1GB,并禁用了安全认证(方便本地学习):

bash

编辑

1docker run --name es01 --net elastic -p 9200:9200 -it -m 1GB -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.12.2

3. 验证是否成功

打开浏览器访问 http://localhost:9200,或者在终端执行:

bash

编辑

1curl -X GET "localhost:9200/?pretty"

如果返回了包含 "cluster_name" 和 "version" 的 JSON 数据,说明你的 ES 已经成功跑在 Docker 里了!

四、 进阶:使用 Docker Compose 编排多容器

当你需要同时运行 ES 和 Kibana(ES 的可视化面板)时,手动敲命令会很繁琐。这时可以使用 docker-compose.yml 文件进行一键编排。

创建一个 docker-compose.yml 文件,写入以下内容:

yaml

编辑

1version: '3.8'

2services:

3 es01:

4 container_name: es01

5 image: docker.elastic.co/elasticsearch/elasticsearch:8.12.2

6 environment:

7 - discovery.type=single-node

8 - xpack.security.enabled=false

9 - ES_JAVA_OPTS=-Xms1g -Xmx1g

10 ports:

11 - "9200:9200"

12 networks:

13 - elastic

14

15 kibana:

16 container_name: kibana

17 image: docker.elastic.co/kibana/kibana:8.12.2

18 environment:

19 - ELASTICSEARCH_HOSTS=http://es01:9200

20 ports:

21 - "5601:5601"

22 networks:

23 - elastic

24 depends_on:

25 - es01

26

27networks:

28 elastic:

29 driver: bridge

然后在当前目录下运行 docker-compose up -d,Docker 就会自动帮你把 ES 和 Kibana 都启动好,并且让它们在网络内部互相连通。

相关文章
  • 【收藏级】parted全套配置模板与脚本
    【收藏级】parted全套配置模板与脚本

    【收藏级】parted 全套配置模板与脚本说明: parted 用于 GPT/MBR 磁盘分区,适合 Linux(CentOS、Rocky、Ubuntu),必须 root 执行;所有示例以 /dev/sdb 为目标盘,替换成你自己的磁盘。 警告:下面脚本会清空整块磁盘数据,测试前确认磁盘路径,生产务必先备份!前置须知parted 两...

  • 2026年日志管理框架最新教程,运维必收藏
    2026年日志管理框架最新教程,运维必收藏

    2026 日志管理框架最新教程,运维必收藏核心变化一句话:2026 不再是单一 ELK 一统天下,OpenTelemetry OTLP 是采集标准;轻量优先选 Loki+Vector/Alloy,强全文检索选 OpenSearch,旧 ELK 逐步迁移;核心目标:日志、指标、链路统一可观测,控制存储成本、降低运维负担。重点提...

  • 高可用架构精选最佳实践:资深运维的私藏技巧
    高可用架构精选最佳实践:资深运维的私藏技巧

    高可用架构精选最佳实践:资深运维的私藏技巧高可用的本质不是"永远不挂",而是挂了也能继续服务核心业务。下面从架构分层、容错机制、运维实战三个维度拆解。一、架构分层:三层盾牌模型SeatGeek 的"Shielding the Core"策略把防御分为三层,每层职责明确。Edge S...

  • 为什么推荐年度Fluentd?深度对比与实测
    为什么推荐年度Fluentd?深度对比与实测

    【干货】为什么推荐年度 Fluentd?深度对比与实测一句话定位:Fluentd 是 CNCF 毕业、Apache2.0 协议的统一日志采集聚合层,主打复杂日志清洗、多源多目的地路由、自带磁盘持久缓冲;适合做集群聚合节点,和轻量采集端 Fluent Bit 搭配是云原生标准组合。实测结论:它不...

  • 挂载最佳实践:资深运维的私藏技巧
    挂载最佳实践:资深运维的私藏技巧

    挂载最佳实践:资深运维的私藏技巧 一、fstab 安全规范修改 fstab 前必须先备份:cp /etc/fstab /etc/fstab.bak。每次编辑完必须执行 mount -a 验证,无输出即正常,有报错立刻修复,否则重启后可能进入紧急模式。数据盘条目务必加 nofail,网络存储务必加 _netdev,防止设备不...

  • 为什么推荐K8s部署实战?深度对比与实测
    为什么推荐K8s部署实战?深度对比与实测

    推荐 K8s 部署实战,核心不是因为它“听起来高级”,而是它能把部署效率、资源利用率、故障恢复、AI 算力调度、云原生生态一起拉高。 2026 年之后,K8s 已经不只是 Web 应用部署工具,正在成为 AI 推理、GPU 调度、平台工程、GitOps 的基础设施底座。 一、为什么值得...