【收藏级】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 都启动好,并且让它们在网络内部互相连通。

相关文章
  • 为什么推荐Traefik?深度对比与实测
    为什么推荐Traefik?深度对比与实测

    Traefik(发音为 traffic)是一款专为微服务架构和云原生环境设计的现代化开源 HTTP 反向代理和负载均衡器。与传统的反向代理(如 Nginx)不同,Traefik 的核心优势在于自动化服务发现与动态配置,它能实时监听基础设施的变化并自动更新路由规则,全程无需重启服务。核心...

  • 为什么推荐全站加速?深度对比与实测
    为什么推荐全站加速?深度对比与实测

    全站加速(通常被称为 WSA、ECDN 或 ICDN)是一种融合了动态加速和静态加速的网站加速解决方案。它专门针对动静态内容混合的网站,能够同时解决静态资源加载慢和动态请求延迟高的问题。核心原理:动静分离与智能路由全站加速的核心在于“动静分离”和“智能路由...

  • SRE面试速成详解:从入门到生产环境实践
    SRE面试速成详解:从入门到生产环境实践

    SRE(站点可靠性工程)面试的核心,在于考察你是否具备“用软件工程思维解决运维问题”的能力。结合你平时对软件开发技术和前沿科技资讯的关注,以下为你梳理了一份高效的 SRE 面试速成指南:核心思维:SRE 到底在做什么?SRE 不是传统的运维,而是“当软件工程师...

  • Jenkins安全加固教程最佳实践:资深运维的私藏技巧
    Jenkins安全加固教程最佳实践:资深运维的私藏技巧

    文库里暂时没有收录 Jenkins 安全加固的专题文档,视频资源也未检索到。下面我基于 Jenkins 官方文档和 SANS 的加固指南,为你整理一份可直接落地的教程,并在文末附上官方权威文档链接供你收藏。第一道防线:启用并收紧认证授权Jenkins 默认安装后处于“裸奔”状...

  • Nginx详解:从入门到生产环境实践
    Nginx详解:从入门到生产环境实践

    Nginx(发音为 "engine X")是一款开源的高性能 Web 服务器和反向代理服务器。它由俄罗斯程序员 Igor Sysoev 于 2004 年发布,最初是为了解决高并发场景下的 C10K 问题(即单机支持 1 万并发连接)而设计的。凭借极低的资源消耗和卓越的并发处理能力,Nginx 已成为现代互联网架...

  • 内核调优错误解决最佳实践:资深运维的私藏技巧
    内核调优错误解决最佳实践:资深运维的私藏技巧

    内核调优是一个“牵一发而动全身”的过程,出现错误通常是因为参数设置超出了系统承受范围,或者参数之间存在冲突。由于你没有提供具体的报错信息,我为你梳理了一套通用的内核调优错误排查与解决流程,涵盖了从紧急恢复到根因分析的完整路径:第一步:...