Docker中使用MySQL踩坑

需要使用到 MySQL ,打算使用 Docker 来部署,compose 来管理。原以为很简单,没想到还是有些坑的。 version: "3.7" services: mysql: image: mysql:8.0-oracle container_name: mysql ports: - "3306:3306" restart: always environment: # 密码 MYSQL_ROOT_PASSWORD: "root" # 创建默认数据库名 MYSQL_DATABASE: "test" 上面的写法就可以启动一个 MySQL 服务了,很简单。但是如果重新构建的话,数据就会丢失了,解决办法也很简单,挂载一下数据目录。 version: "3.7" services: mysql: image: mysql:8.0-oracle container_name: mysql ports: - "3306:3306" volumes: - ./data/mysql:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: "root" MYSQL_DATABASE: "test" 很好,MySQL 的数据已经挂载出来了,但是当重启 MySQL 容器的时候发现重启不了了,报错如下。 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1.el8 started. chown: cannot dereference '/var/lib/mysql/mysql.sock': No such file or directory 根据报错信息是找不到挂载目录下的文件,猜测是权限原因引起的,加个权限试一试。...

2022-04-08 · 2 分钟