使用docker技术快速部署mysql容器

使用docker快速部署mysql容器

  1. 安装docker

    # 安装Docker-CE
    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    # 增加最新版本的Docker安装仓库
    yum-config-manager --add-repo \
            https://download.docker.com/linux/centos/docker-ce.repo
    
    # 安装Docker-CE版本
    sudo yum install -y docker-ce docker-ce-cli containerd.io
    
    # 启动docker
    sudo systemctl enable docker
    
    # 允许开机启动
    sudo systemctl start docker
  2. 下载mysql镜像文件

    # 查看所需镜像版本,这里是查看mysql 5.6版本
    # 默认会下载5.6里面最新的版本
    docker search mysql:5.6
    
    # 下载对应版本的mysql,是用mysql:版本号
    docker pull mysql:5.6
  3. 配置文件

    [client]
    default-character-set=utf8
    
    [mysqld]
    character-set-server=utf8
    default-storage-engine=INNODB
    collation-server=utf8_general_ci
    pid-file  = /var/run/mysqld/mysqld.pid
    socket   = /var/run/mysqld/mysqld.sock
    datadir   = /var/lib/mysql
    log-error = /var/log/mysql/error.log
    
    [mysql]
    default-character-set=utf8

    存放路径,可以自行修改,修改之后记得更改启动容器的路径参数

    /home/docker-conf/mysql/cnf/my.cnf

  4. 启动容器命令

    docker run -it \
    --name=mysql \
    # 如果更改了存放路径,记得修改下面的配置参数 \
    -v /home/docker-conf/mysql/cnf/:/etc/mysql/conf.d \ 
    -e MYSQL_ROOT_PASSWORD=123456 \
    # --ip 127.0.0.1 \
    -p 3306:3306 \
    -d mysql:5.6 \
    /bin/bash

    参数解读

    ​ --name 自定义名字,两个-

    ​ -v 文件挂载目录

    :前面的是宿主机的目录,后面则是容器的目录

    ​ -e 设置mysql的初始密码,不过貌似没什么用

    ​ -p 端口映射

    :前面的是映射到宿主机的端口,后面则是容器的端口

    ​ 比如mysql默认端口是3306,意思就是把mysql容器的3306端口映射到宿主机的3306端口,

    ​ 可以通过访问宿主机的3306端口访问到mysql容器

    ​ -d 表示后台运行

    ​ 后面的则是镜像名和版本号

  5. 进入容器内部

    docker attach mysql
    # 或者
    docker exec -it 容器名或者container ID
  • 执行mysql命令

    usermod -d /var/lib/mysql/ mysql
  • 启动mysql

    service mysql start 
  • 使用mysql

    mysql -uroot -p
    提示输入密码。直接回车.

其他命令

因为container ID是通过hash算法来实现的,所以正常情况下每个容器的ID都是唯一的,为了方便操作,取前几位就可以了,只要取的值和其他容器的相同个数的没有重复的即可

# 比如
container ID        name   
a12345              mysql01
a11234              centos7.6                 
b12345           mysql02
b23456              centos6.8
c23456          redis                  

# 可以这么来取
docker start a12
# 也可以这样
docker start mysql01
# 更简单的
docker start c # 因为c开头的就一个
  • 查看正在运行的容器

    docker ps
  • 查看所有容器(包括没有运行的)

    docker ps -a
  • 启动容器

    docker start 容器名或container ID
  • 停止容器

    docker stop 容器名或container ID
  • 删除容器

    docker rm container ID
    # 注意:运行的容器一定要先stop,再rm
  • 查看镜像文件

    docker images

猜你喜欢

转载自www.cnblogs.com/liuhuan086/p/11229786.html