账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    docker cp 写在shell脚本中复制不完整,但是将脚本中的命令逐行执行则没问题,代码如下:
    37
    0
    #!/bin/bash
    
    #拉取镜像
    sudo docker pull mysql:5.7.21
    
    #创建目录
    sudo mkdir /opt/mysql_5.7.21
    #用于获取未映射
    sudo docker run -p 3306:3306 --name mysql_5.7.21 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.21
    
    sudo docker cp mysql_5.7.21:/etc/mysql /opt/mysql_5.7.21/etc
    sudo docker cp mysql_5.7.21:/var/log/mysql /opt/mysql_5.7.21/logs
    sudo docker cp mysql_5.7.21:/var/lib/mysql /opt/mysql_5.7.21/data
    
    #删除镜像
    sudo docker stop mysql_5.7.21 && sudo docker rm mysql_5.7.21
    
    #真正执行并映射目录
    sudo docker run -p 3306:3306 --name mysql_5.7.21 \
      -v /opt/mysql_5.7.21/etc:/etc/mysql:ro \
      -v /opt/mysql_5.7.21/logs:/var/log/mysql \
      -v /opt/mysql_5.7.21/data:/var/lib/mysql \
      -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.21
    脚本执行完毕后 会发生/opt/mysql_5.7.21/data目录中的文件复制不完整
    从而导致容器运行失败
    使用if [ $? -eq 0 ];then 来等待依旧无效

    求大神指点迷津

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部