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

相关推荐
Sylvia-girl1 小时前
Linux下的基本指令1
linux·运维·服务器
CDN3602 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
Stewie121382 小时前
Docker 面试题
运维·docker·容器
vpk1122 小时前
Docker Compose 安装 Redis
redis·docker·容器
星纬智联技术2 小时前
GEO E2E 自动化验证测试文章
运维·自动化·geo
jarreyer3 小时前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶3 小时前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
last demo4 小时前
Docker-compose和图形界面管理
docker·容器·eureka
RisunJan4 小时前
Linux命令-md5sum(计算和校验文件报文摘要的工具程序)
linux·运维
抹茶咖啡4 小时前
IT运维的365天--042 骚操作之--用IPSec给远程桌面上把锁
运维·网络·it运维