MiaRunis
V2EX  ›  问与答

docker 运行 mysql, volume 挂载数据库到外部的正确姿势是?为什么老是超时失败?

  •  
  •   MiaRunis · Mar 15, 2020 · 1638 views
    This topic created in 2252 days ago, the information mentioned may be changed or developed.
    docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /C/Users/Mia/Desktop/mysql:/var/lib/mysql -d mysql/mysql-server:5.6 mysqld --default-authentication-plugin=mysql_native_password


    我在尝试本地起 mysql 测试环境时能保留数据,但是一加 volume 挂载,数据库启动就铁定超时 exited。不加 volume 就正常启动。这是什么妖术?

    [Entrypoint] Database initialized
    [Entrypoint] Waiting for server...
    2020-03-15 10:27:55 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2020-03-15 10:27:55 0 [Note] mysqld (mysqld 5.6.47) starting as process 65 ...
    [Entrypoint] Waiting for server...
    ……
    [Entrypoint] Waiting for server...
    [Entrypoint] Waiting for server...
    [Entrypoint] Timeout during MySQL init.
    7 replies    2020-03-16 22:54:29 +08:00
    scukmh
        1
    scukmh  
       Mar 15, 2020
    你需要确定你有权限挂这个地方的盘,我记得 docker 在 mac 和 windows 上默认是只能挂少数地方的盘的。
    MiaRunis
        2
    MiaRunis  
    OP
       Mar 15, 2020
    @scukmh 有的,php 挂载同一目录没有问题
    HuHui
        3
    HuHui  
       Mar 15, 2020 via Android
    进 shell 看看有没有挂载上
    MiaRunis
        4
    MiaRunis  
    OP
       Mar 15, 2020
    @HuHui 进不了,几秒直接强制 exited 弹出了
    HuHui
        5
    HuHui  
       Mar 16, 2020 via Android
    跑了一遍,没有问题
    HuHui
        6
    HuHui  
       Mar 16, 2020 via Android
    @HuHui windows 路径是这么写的么,先用相对路径试试
    MiaRunis
        7
    MiaRunis  
    OP
       Mar 16, 2020
    @HuHui 还是不行,最终在 host 上直接部署 mysql 5.5 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2893 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:10 · PVG 20:10 · LAX 05:10 · JFK 08:10
    ♥ Do have faith in what you're doing.