首页 > 解决方案 > mysql docker容器以代码1退出

问题描述

当我尝试在 docker-compose 文件上使用 docker-compose up 命令时,我想使用 docker 容器在 Windows 上运行 mysql,这就是结果。

> D:\dockerfiles>docker-compose up
db_1  | Initializing database
db_1  | 2018-10-08T09:00:29.024081Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
db_1  | 2018-10-08T09:00:29.024224Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
db_1  | 2018-10-08T09:00:29.024512Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_1  | 2018-10-08T09:00:29.028590Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
db_1  | 2018-10-08T09:00:29.028673Z 0 [ERROR] Aborting
db_1  |
dockerfiles_db_1 exited with code 1

这是我的 docker-compose.yml

version: '3.7'

services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_DATABASE: star
      MYSQL_USER: user
      MYSQL_PASSWORD: pass

更新 docker compose 文件

version: '3.7'

services:
  mysqldb:
    image: mysql:5.7
    container_name: mysql_con1
    command: --default-authentication-plugin=mysql_native_password
    command: --disable-partition-engine-check
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_DATABASE: star
      MYSQL_USER: user
      MYSQL_PASSWORD: pass
    volumes:
      - "./:/var/lib/mysql"
    networks:
      - samplenet
networks:
  samplenet:
    driver: nat

标签: mysqldockerdocker-compose

解决方案


目录中有一些文件/var/lib/mysql。从此目录中删除所有内容。或者强烈推荐,使用docker-compose.yml.

volumes:
  - /my/own/datadir:/var/lib/mysql

更新:我使用以下撰写文件进行了测试,它运行良好,没有任何错误。

version: '3.7'

services:
  db:
    image: mysql:5.7
    restart: always
    volumes:
    - ./data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_DATABASE: star
      MYSQL_USER: user
      MYSQL_PASSWORD: pass

推荐阅读