美文网首页
docker 中运行 mysql

docker 中运行 mysql

作者: 佳人芸芸 | 来源:发表于2018-01-06 00:20 被阅读0次

    docker镜像仓库

    在宿主机Host的终端执行:
    1、 搜索docker镜像仓库中提供的mysql
    docker search mysql

    2、下载mysql镜像
    docker pull mysql

    3、改变目录权限,非必须
    可以先执行第四步,到第五步时发现容器的状态时是Exited时,执行第六步来查看原因。
    如果提示无权限访问时,则需要补上本步骤,这是因为开启SELinux enabled时权限控制更严格所导致
    chcon -Rt svirt_sandbox_file_t /data/mysql

    4、创建并运行mysql容器
    docker run -d --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql
    无论是否运行成功,均会得到容器ID
    稍微解释一下:

     -d 表示在后台运行容器
     --name 表示为后台运行的容器取别名,便于后续的操作
     -v 用来指定数据卷,将正在运行mysql的容器上的/var/lib/mysql目录映射到宿主机上的/data/mysql目录
    

    5、查看容器的运行状态
    docker psdocker ps -a

    CONTAINER ID   #容器ID
    IMAGE          #镜像名称
    COMMAND        #执行的cmd
    CREATED        #创建了多久        
    STATUS         #容器的status:Up(正在运行) or Exited(不在运行)      
    PORTS          #端口映射情况,默认tcp           
    NAMES          #容器别名
    

    6、查看容器的运行日志
    docker logs myMysql
    有些系统中,如果没有设置第三步,可能运行mysql会失败,失败原因可以通过查看容器的运行日志来了解。

    7、与容器进行交互
    docker exec -t -i myMysql /bin/bash
    执行之后会获得容器内的/bin/bash终端,
    root@35e1fab30962:/#,其中35e1fab30962是容器ID
    此时就可以在这里执行mysql命令了
    Demo:

    root@35e1fab30962:/# mysql -uroot -p 
    #输入之前设置的密码,此处为123456,输入正确后进入到mysql中
    mysql> use mysql;
    mysql> select * from user\G;
    

    8、停止正在运行的mysql容器
    docker stop myMysql

    9、启动已创建的mysql容器
    docker start myMysql

    10、mysql容器的数据导出

    docker exec myMysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql
    

    110、更多docker命令帮助,请使用
    docker --helpdocker cmd --help

    999、更多docker中mysql的使用,请参见
    mysql的docker镜像仓库

    相关文章

      网友评论

          本文标题:docker 中运行 mysql

          本文链接:https://www.haomeiwen.com/subject/enjenxtx.html