Docker安装Mysql

Docker安装Mysql

  1. 查找镜像 docker search mysql
  2. 拉取镜像 docker pull mysql:5.7 (此为拉取5.7版本)
    ​ docker pull mysql:latest 拉取最新版本
    latest是指最新版本的标签。在Docker中,镜像可以有多个标签,用于区分不同的版本或配置。latest标签通常用于表示最新的可用版本。
    ​ 当您使用docker pull命令时,如果未指定特定的标签,Docker将默认拉取具有latest`标签的镜像。这意味着您将获取到最新版本的镜像。

​ 3.docker images 查看拉取的镜像列表

​ 4.创建mysql容器并运行

#!/bin/bash
#创建mysql容器
docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v $PWD/log:/var/log/mysql \
-v $PWD/data:/var/lib/mysql \
-v $PWD/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 
#-p 3306:3306:指定宿主机端口与容器端口映射关系
#--name mysql:创建的容器名称
#--restart=always:总是跟随docker启动
#--privileged=true:获取宿主机root权限
#-v $PWD/log:/var/log/mysql:映射日志目录,宿主机:容器
#-v $PWD/data:/var/lib/mysql:映射数据目录,宿主机:容器
#-v $PWD/conf/my.cnf:/etc/mysql/conf.d/my.cnf \   指定了某个配置文件后才生效
# 在Docker中的MySQL容器中,/etc/mysql/conf.d目录是用于存放MySQL的配置文件的目录。这个目录中的配置文件会覆盖MySQL容器中默认的配置文件。
#-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
#-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
#-d mysql:latest:后台运行mysql容器,版本是latest。

mysql配置文件加载顺序

在Linux系统中,MySQL的配置文件按照以下顺序进行加载:

  1. /etc/my.cnf:这是MySQL的全局配置文件,它适用于所有MySQL实例。
  2. /etc/mysql/my.cnf:这是MySQL的全局配置文件,与/etc/my.cnf具有相同的作用。
  3. ~/.my.cnf:这是用户级别的配置文件,只适用于当前用户。
  4. /etc/mysql/conf.d/目录下的.cnf文件:该目录包含了一些MySQL的附加配置文件。
  5. /etc/mysql/mysql.conf.d/目录下的.cnf文件:该目录也包含了一些MySQL的附加配置文件。

在加载配置文件时,MySQL会按照上述顺序依次读取并应用配置,后面加载的配置文件会覆盖前面加载的配置。因此,如果同一个配置在多个文件中存在,后面加载的文件中的配置会覆盖前面加载的文件中的配置。

请注意,具体的配置文件路径和顺序可能会因不同的Linux发行版和MySQL版本而有所不同。因此,在您的系统上可能会有一些差异,请根据实际情况进行适当的调整。

5.docker ps 查看容器是否启动成功
​ status为up为启动成功 如果为Restarting说明失败
​ Docker容器的状态可以分为以下几种:

  1. 运行中(Running):容器正在运行,并且可以正常访问和执行任务。
  2. 停止(Exited):容器已经停止运行,但是仍然保留在系统中。这可能是因为容器运行完毕或者发生了错误。
  3. 暂停(Paused):容器的执行被暂停,但是容器的状态仍然保留在内存中。容器可以通过恢复操作重新开始执行。
  4. 重启(Restarting):容器正在重新启动,可能是因为发生了错误或者进行了更新操作。

​ 这些状态可以通过docker ps -a命令查看,并在状态列中显示。您可以根据容器的状态来判断容器的运行情况,并采取相应的操作,例如启动、停止、重启或 删除容器

6.启动失败查看日志
​ 要查看Docker容器的日志,可以使用以下命令:

  1. docker logs [container-id] /container-name:查看指定容器的日志。
  2. docker logs -f [container-id]/container-name:实时查看指定容器的日志,类似于tail -f命令。
  3. docker logs --tail [number] [container-id]:查看指定容器最后几条日志,[number]为要查看的日志行数。
  4. docker-compose logs [service-name]:查看指定Docker Compose服务的日志。

​ 这些命令将显示Docker容器的日志输出,您可以使用它们来诊断容器的问题或监视容器的运行状态。

7.进入对应容器的命令终端
要进入Docker容器的bash命令行,您可以使用以下命令:

  1. docker exec -it [container-id] bash:进入正在运行的容器的bash命令行。
  2. docker exec -it [container-name] bash:进入正在运行的容器的bash命令行,使用容器的名称而不是ID。
    这些命令将在正在运行的容器中打开一个新的终端会话,并将您连接到容器的bash命令行。您可以在其中执行命令、查看文件、进行调试等操作。请注意,您需要具有足够的权限来执行这些命令,通常需要以root用户身份或具有相应的权限。
    如果您只是想在容器中运行一次性命令而不需要进入交互式bash会话,可以使用docker exec [container-id] [command]命令。这将在容器中执行指定的命令,并显示其输出。

使用exit退出bash

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值