使用docker-compose快速启动一个mysql服务

643 阅读1分钟

前提:

  • docker 已安装
  • docker compose已安装

编写一个docker-compose.yml文件

version: '3'
services:
  db:
    image: mysql:5.6
    cap_add:
      - SYS_NICE # 添加到SYS NICE的上限会抑制一些没用的错误消息
    restart: always # 要求docker-compose在失败时总是重新启动这个容器
    environment:
      - TZ=Asia/Shanghai # 方法一:设置时区为上海
      # - SET_CONTAINER_TIMEZONE=true # 方法二: 设置时区为上海
      # - CONTAINER_TIMEZONE=Asia/Shanghai # 方法二: 设置时区为上海
      - MYSQL_DATABASE=test-db # mysql启动时自动创建数据库,名为test-db
      - MYSQL_ROOT_PASSWORD=123456 # 设置root账户密码
    ports:
      - 3306:3306  
    # network_mode: 'host' # 和本机共享网络,设置了host模式的网络,就不需要暴露端口了,因为是和主机共享了
    command:
      [
        'mysqld',
        '--character-set-server=utf8mb4', # 设置字符编码
        '--collation-server=utf8mb4_unicode_ci',
        # 默认情况下,MySQL 客户端是使用客户端设置的编码的。
        # 可以通过 --skip-character-set-client-handshake 来让客户端使用服务端的编码,来保持编码的一致性
        '--skip-character-set-client-handshake',
      ]

然后在docker-compose.yml这个文件的目录下,执行docker-compose up -d就会自动创建一个mysql服务了