docker安装应用

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

相关推荐
神梦流2 小时前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年2 小时前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
MonkeyKing_sunyuhua2 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
Lsir10110_3 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
醇氧3 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
技术路上的探险家3 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
Doro再努力3 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
全栈工程师修炼指南3 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
Lsir10110_4 小时前
【Linux】进程信号(上半)
linux·运维·服务器
开开心心就好4 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节