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

相关推荐
小p19 小时前
docker学习: 2. 构建镜像Dockerfile
docker
小p1 天前
docker学习: 1. docker基本使用
docker
蝎子莱莱爱打怪2 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
崔小汤呀2 天前
Docker部署Nacos
docker·容器
缓解AI焦虑2 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter2 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka
DianSan_ERP2 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
シ風箏2 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
呉師傅2 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒2 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器