如何在创建MySQL容器时处理大型SQL转储文件?

时间:2017-05-06 14:20:51

标签: docker docker-compose

我遇到了一个“怪异的”问题,docker-compose up在尝试导入“big” SQL转储文件时遇到问题。转储文件大约是170MB,所以我不知道MySQL容器有多大。这就是我的docker-compose.yml文件的样子:

version: '3'
services:
    webserver:
      image: reynierpm/docker-lamp:latest
      dns:
        - 8.8.8.8
        - 8.8.4.4
      ports:
        - "80:80"
      volumes:
        - d:/Development/sources:/var/www/html
      depends_on:
        - mysqldb
        - mongodb
      restart: on-failure
    mysqldb:
      image: mysql:5.6
      healthcheck:
        test: "exit 0"
        interval: 1m30s
        timeout: 10s
        retries: 3
      env_file: .env
      environment:
        MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
        MYSQL_DATABASE: ${MYSQL_DATABASE}
        MYSQL_USER: ${MYSQL_USER}
        MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      volumes:
        - d:/Development/applications/sourcesdb_dump:/docker-entrypoint-initdb.d
      ports:
        - "3306:3306"
      restart: on-failure
    mongodb:
      image: mongo:latest
      env_file: .env
      environment:
        MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
        MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
        MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}
      ports:
        - "27017:27017"
      restart: on-failure

你可能没有看到任何奇怪的东西。如果我尝试在常规MySQL安装中导入SQL转储文件,例如在Centos服务器(没有Docker容器)中运行的MySQL服务器,它就可以工作。

我的猜测是与分配给容器的RAM内存或CPU相关的东西,但我找不到根据文档here为该容器分配更多RAM或CPU的方法。虽然我的Docker设置是10GB的内存和2个CPU(我认为这是用于Moby VM)

enter image description here

有什么想法吗?有谁知道如何在问题出现时为该特定容器添加更多内存?

更新

经过很长时间30~45分钟(不确定自我出去以及离开Docker后的确切时间),表格许可证已经创建。但是,我仍然在问是否有办法通过为这样的容器设置一些内存来加速它。

0 个答案:

没有答案