docker compose 安装mysql

吴书松
吴书松
发布于 2026-06-11 / 11 阅读
0

docker compose 安装mysql

1、拉取镜像

docker pull docker.1ms.run/library/mysql:8

2、获取配置文件

1、临时启动一个mysql容器,关闭删除(--rm)

docker run --rm -d --name mysql_tmp -e MYSQL_ROOT_PASSWORD=temp docker.1ms.run/library/mysql:8

注意,需要设置密码,不然容器启动失败:MYSQL_ROOT_PASSWORD=temp

2、复制配置文件

先创建两个文件夹,用于存放配置和数据

mkdir -p ./mysql_data ./mysql_conf

复制容器配置文件

docker cp mysql_tmp:/etc/mysql ./mysql_conf/

3、正式启动

创建网络,如果存在就可以不预先创建

docker network create --subnet=192.168.20.0/24 --gateway=192.168.20.1 wss-cloud-network

1、创建docker-compose.yml

version: '3.8'

services:
  mysql:
    image: docker.1ms.run/library/mysql:8
    container_name: mysql
    ports:
      - "3306:3306"
    volumes:
      - ./mysql_data:/var/lib/mysql
      - ./mysql_conf/mysql/conf.d:/etc/mysql/conf.d   # 仅挂载自定义配置目录
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    restart: unless-stopped
    cpus: 2
    mem_limit: 2g

指定网络,限制日志

version: '3.8'

services:
  mysql:
    image: docker.1ms.run/library/mysql:8
    container_name: mysql
    ports:
      - "3306:3306"
    volumes:
      - ./mysql_data:/var/lib/mysql
      - ./mysql_conf/mysql/conf.d:/etc/mysql/conf.d
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    restart: unless-stopped
    cpus: 2
    mem_limit: 2g
    networks:
      wss-cloud-network:
        ipv4_address: 192.168.20.10
    # 【新增】限制容器标准输出日志(docker logs)的大小和数量
    logging:
      driver: "json-file"
      options:
        max-size: "10m"      # 单个日志文件最大 10MB
        max-file: "3"        # 最多保留 3 个文件

networks:
  wss-cloud-network:
    external: true
    name: wss-cloud-network

2、启动

docker compose up -d

4、连接使用