zoukankan      html  css  js  c++  java
  • Docker实践:部署Mysql

    目录准备

    目录结构:

    ─/home/mysql
    ├── conf.d
      └── my.cnf
    ├── data
    ├── start.sh

    my.cnf:mysql配置文件

    [client]
    default-character-set=utf8
    [mysqld]
    character-set-server=utf8
    performance_schema = OFF
    [mysql]
    no-auto-rehash
    default-character-set=utf8

    start.sh:创建容器的脚本

    #!/bin/bash 
    
    echo "create a mysql container.."
    docker run -d --name mysql 
               -v $(pwd)/conf.d:/etc/mysql/conf.d 
               -v $(pwd)/data:/var/lib/mysql 
               -e MYSQL_ROOT_PASSWORD="123456" 
               -e MYSQL_DATABASE="test_bd" 
               -p 3307:3306 
           mysql:5.7.19 
               --character-set-server=utf8 --collation-server=utf8_general_ci

    简单说明:docker run 为运行容器的命令,若本地仓库不存在mysql:5.7.19的镜像则自动从DockerHub pull下来。

    参数:

    -d:后台运行

    -v, 挂载配置文件与数据卷

    -e, 指定mysql的root用户密码,并指定创建的数据库名,且设置为环境变量

    -p, 映射容器端口给宿主机端口

    快速开始

    在mysql目录下给脚本添加可执行权限,并运行脚本:

    chmod +x start.sh
    ./start.sh

    查看运行的容器:

    docker ps

    现在看看mysql容器是否正确运行

    docker exec -it mysql bash

    首先docker run创建时,写入的环境变量MYSQL_DATABASE会由mysql镜像处理,创建database。

    我们在容器中使用env查看环境变量时,docker run指定的两个环境变量也被写入。

     

  • 相关阅读:
    [转]为什么udp为什么不能发送大于1472字节数据
    曾经的那些入过的坑 内网中部署bcos
    安装FISCO-BCOS的那些坑
    springcloud基础入门
    BCOS常见的问题
    软件测试工程师必须要知道的9点
    十款APP开发框架
    Thinkphp开源框架如何使用?
    软件测试工程师面试必须要注意的7点
    一个APP开发有那么难吗?
  • 原文地址:https://www.cnblogs.com/-wenli/p/13734487.html
Copyright © 2011-2022 走看看