在docker中运行mysql容器

今天打算在一台新机器上安装mysql,一时想不起来安装步骤,同时又觉得查看文档很麻烦。

正好之前自学了docker容器相关的内容,就想在容器中安装mysql。

在容器中安装mysql,要解决一下几个问题:

  1. 需要配置宿主机中的端口到mysql容器中的3306端口
  2. 需要设置mysql的密码环境变量
  3. 需要用docker中的卷来挂载相关内容,例如数据、日志和配置文件。因为如果不用卷来存储数据的话,容器停止运行后,mysql中存储的数据都会丢失。

首先拉取mysql的docker镜像:

bash 复制代码
docker pull mysql

然后在命令行执行下面的语句:

bash 复制代码
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=xxx -d \
-p 3306:3306 \
-v data_path:/var/lib/mysql \
-v logs_path:/var/log/mysql \
-v conf_path:/etc/mysql/conf.d \
mysql

--name 指定容器名。

-e 设置环境变量(具体的环境变量名可以看对应容器github上的说明),这里指定了root密码。

-d 在后台运行,也是docker的基本指令之一。

-p 设置端口映射。这里前一个3306是宿主机的端口。

-v 设置卷,将宿主机中对应的path挂载到容器中,这样容器中存储的数据会显示到卷的路径中。这里我在本地创建了3个空文件夹。

这样一个mysql就安装完成了,如何后面想要卸载mysql,直接删除容器即可,比安装在本地再删除的麻烦步骤比起来方便多了。

执行下面的命令就能进入创建的mysql容器,它会进入容器并启动base shell,就相当于我们在本地命令行中一样操作mysql就行。

bash 复制代码
docker exec -it mysql-container /bin/bash
相关推荐
虎头金猫7 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
小白男神8 小时前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
分布式存储与RustFS8 小时前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
这个DBA有点耶8 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
kybs199110 小时前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
玉&心10 小时前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing10 小时前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
赵文宇(温玉)11 小时前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
程序猿_极客11 小时前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
guo_wen_qiang11 小时前
上传本地镜像到harbor中
docker·容器·持续部署