使用docker搭建mysql服务

使用的环境是ubuntu-20.04.4, docker-20.10.5。
命令如下:

touch mysql.cnf
mkdir mysqldata
docker-compose -f docker-compose-db-dev.yml up -d
启动的效果

查看docker里启动的服务

mysql.cnf里配置是否生效

docker-compose-db-dev.yml的文件内容如下:

version: "3.3"

services:
  mysql:
    image: mysql:5.7.28
    hostname: mysql.localhost.dev
    container_name: localhost-dev-mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: mysqlpass
      MYSQL_USER: dev
      MYSQL_PASSWORD: dev@1234
    volumes:
      - ./mysqldata:/var/lib/mysql:rw
      - ./mysql.cnf:/etc/mysql/mysql.cnf:rw
    restart: always

mysql.cnf文件内容如下:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]
innodb_lock_wait_timeout=10

其中,docker里的Volumes(数据卷)是一个可供一个或多个容器使用的位于宿主机上特殊目录,它拥有以下特性:

数据卷可以在容器间共享和重用 对数据卷的写入操作,不会对镜像有任何影响 数据卷默认会一直存在,即使容器被删除使用数据卷的目的是持久化容器中的数据,以在容器间共享或者防止数据丢失(写入容器存储层的数据会丢失)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容