Docker 服务名总结笔记(超清晰版)

一、Docker 里到底有哪些"名字"?

Docker 里有 3 种名字,很多人会混淆:

名称 示例 出现位置 用途 是否影响 MySQL 主从
容器名(container_name) mysql-container docker run / compose 给人看的名字,用于 docker 命令 ❌ 不影响
服务名(service name) mysql docker-compose.yml Docker 内部 DNS 主机名 ✔ 仅在 compose 内部网络有效
主机名(hostname) 默认=容器名 容器内部 Linux 主机名 ❌ 一般不用
IP 地址 192.168.10.143 宿主机 / 局域网 跨容器、跨服务器通信 ✔ 经常用

二、什么是 Docker 服务名?

只有 docker-compose.yml 才有服务名。

例如:

yaml

复制代码
services:
  mysql:
  redis:
  backend:

这里的:

  • mysql

  • redis

  • backend

就是 服务名(service name)。

✔ 服务名的作用

在 Docker Compose 内部网络中:

复制代码
backend → mysql

就像访问一个域名一样。

✔ 服务名 = Docker 内部 DNS 主机名

Compose 会自动创建一个内部网络:

复制代码
mysql → 172.18.0.2
redis → 172.18.0.3
backend → 172.18.0.4

所以 Django (web)可以这样访问 MySQL:

复制代码
HOST = "mysql"

三、docker run 没有服务名

你这条命令:

复制代码
docker run --name mysql-container ...

这里的:

复制代码
--name mysql-container

是 容器名,不是服务名。

docker run 不会创建 service name。

四、你为什么感觉"我部署项目时没用到服务名"?

因为你部署主从复制时:

  • 主库是一个容器

  • 从库是另一个容器

  • 它们之间通过 宿主机 IP 通信

你的主从复制命令是:

复制代码
MASTER_HOST='192.168.10.143'

所以你根本不会用到:

  • mysql

  • mysql-master

  • mysql-slave

这些 service 名。

你用的是 IP,不是 Docker 内部网络。

五、TLS 证书到底应该匹配什么?

最关键的一句话:

🔥 TLS 证书必须匹配你在 CHANGE MASTER TO 里写的 MASTER_HOST。

你写的是:

复制代码
MASTER_HOST='192.168.10.143'

所以证书必须:

复制代码
mkcert 192.168.10.143

和 service 名完全无关。

六、什么时候才需要用服务名?

只有一种情况:

✔ 主库和从库都在同一个 docker-compose.yml 里

例如:

yaml

复制代码
services:
  mysql-master:
  mysql-slave:

主从复制写法:

复制代码
MASTER_HOST='mysql-master'

证书必须:

复制代码
mkcert mysql-master

但现在不是这种架构。

七、最终总结(最重要)

我给你一句最关键的总结:

docker-compose 才有服务名;docker run 没有服务名。 主从复制使用什么 Host,就必须用这个 Host 来生成 TLS 证书。 你现在用的是 IP,所以证书必须用 IP。

相关推荐
于眠牧北26 分钟前
雷电模拟器9/14搭配charles抓取自带浏览器接口9/14
经验分享·笔记·git
Answer1st8 小时前
【嵌入式模块】UART通信模块
笔记
JavaPub-rodert8 小时前
Docker 日志为什么能把磁盘写爆?讲透 json-file、local、journald、日志轮转与 docker logs
docker·eureka·json
和侧8 小时前
离子注入后为什么必须配套退火工艺?
笔记·学习
人生匆匆9 小时前
docker部署ceph集群
ceph·docker·容器
张张123y12 小时前
后端第九课:部署上线(把你的 FastAPI 后端真正跑起来给别人用)
python·docker·部署·fastapi
TheBlackHoleLab12 小时前
【Vulnhub系列】DarkHole1: 渗透测试笔记,没有踩渗透的坑,却踩到了虚拟机平台的坑,人生处处是大坑
笔记·vulnhub·easy·darkhole1
ACP广源盛1392462567313 小时前
硬件选型笔记:GSV2231@ACP,DP1.4 MST 一进三出多屏扩展方案评估
笔记·硬件架构·视频·mst·国产芯片
Awh-14 小时前
ARM 裸机开发 DAY11 学习笔记
arm开发·笔记·学习
志尊宝14 小时前
Vue3 零基础每日笔记(087):Vue3 高频面试题(下)
前端·javascript·vue.js·笔记·ecmascript·#vue.js