1、docker国内缓存
bash
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com"
]
}
EOF
{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://mirror.baidubce.com",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://dockerproxy.com",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.kejilion.pro",
"https://docker-registry.nmqu.com",
"https://docker.xuanyuan.me",
"https://dockerproxy.net",
"https://hub.rat.dev",
"https://hub1.nat.tf",
"https://hub2.nat.tf",
"https://hub3.nat.tf",
"https://hub4.nat.tf",
"https://mirror.iscas.ac.cn",
"https://docker-0.unsee.tech",
"https://docker.apiba.cn",
"https://docker.m.daocloud.io",
"https://docker.hpcloud.cloud"
]
}
2、安装docker-commpose
bash
# 1. 下载二进制文件
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 2. 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 3. 验证安装
docker-compose --version
* 国内网络加速
sudo curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

3、docker-commpose安装mysql主从集群
1、docker-commpose配置信息
yaml
version: "3.8"
services:
mysql-master:
image: mysql
container_name: mysql-master
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./master/my.cnf:/etc/mysql/conf.d/my.cnf
- master-data:/var/lib/mysql
ports:
- "3306:3306"
mysql-slave:
image: mysql
container_name: mysql-slave
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./slave/my.cnf:/etc/mysql/conf.d/my.cnf
- slave-data:/var/lib/mysql
ports:
- "3307:3306"
depends_on:
- mysql-master
volumes:
master-data:
slave-data:
2、启动与查看
bash
## 启动mysql集群
docker-compose -f /root/docker-commpose/mysql-salve.yaml up -d
## 测试mysql集群
docker-compose -f /root/docker-commpose/mysql-salve.yaml ps
##关闭集群(保留数据卷)
docker-compose -f /root/docker-commpose/mysql-salve.yaml down
##关闭集群(不保留数据卷)
docker-compose -f /root/docker-commpose/mysql-salve.yaml down -v
# 先停止容器
docker-compose -f /root/docker-commpose/mysql-salve.yaml stop
# 查看状态确认
docker-compose -f /root/docker-commpose/mysql-salve.yaml ps
# 再删除容器
docker-compose -f /root/docker-commpose/mysql-salve.yaml rm
3、master配置

3、docker-commpose安装dns服务
1.dns.yaml
yaml
version: '3'
services:
dns:
image: andyshinn/dnsmasq
container_name: dnsmasq
command: --no-daemon
environment:
DNS1: "61.139.2.69"
DNS2: "8.8.8.8"
ports:
- "127.0.0.1:1080:53/tcp"
- "127.0.0.1:1080:53/udp"
cap_add:
- NET_ADMIN
restart: always
volumes:
- ./dnsmasq.conf:/etc/dnsmasq.conf
- ./logs:/var/log/
2、配置文件dnsmasq.conf
-
创建文件 touch ./dnsmasq.conf
-
vim touch ./dnsmasq.conf
conf
# 基础配置
port=53 # 监听53端口(DNS默认端口)
interface=eth0 # 监听网卡(容器内默认eth0)
no-resolv # 禁用默认的resolv.conf读取
no-hosts # 可选:是否忽略容器内hosts文件
cache-size=1000 # DNS缓存大小,提升解析速度
# 上游 DNS
server=223.5.5.5
server=223.6.6.6
# 域名与IP映射
address=/node1/192.168.1.200
address=/node2/172.16.2.101
# 可选:启用DNSSEC(安全验证)
# dnssec
# 可选:日志(排查问题用)
log-queries
log-facility=/var/log/dnsmasq.log
bash
##启动
docker-compose -f $(pwd)/dns.yaml up -d
##关闭
docker-compose -f $(pwd)/dns.yaml down
3、测试
-
安装测试工具 yum -y install bind-utils
-
nslookup 127.0.0.1:1080