docker 部署mysql

本文介绍如何使用Docker部署MySQL容器,并详细解释了从拉取官方镜像到容器运行的全过程,包括端口映射、数据持久化及配置项调整等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.获取镜像:

mysql的镜像可以自己用dockerfile制作一个,或者直接到官方的docker镜像库中下载,本文用的是官方镜像。

# docker pull mysql
# docker images
REPOSITORY                                          TAG                IMAGE ID            CREATED            SIZE 
docker.io/mysql                                    latest              d9124e6c552f        12 days ago        383.4 MB

2.运行容器:

创建宿主机数据存放目录:
# mkdir -p /opt/data/mysql
 
启动容器:
# docker run --name docker-mysql -v /opt/data/mysql/:/var/lib/mysql  -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d docker.io/mysql
c38f50a540ff4d5ecf1a5ec49fb721335a8e1b79dec58229cf5e00553f988e44

 

3.查看容器:
# docker ps 
CONTAINER ID        IMAGE                    COMMAND                  CREATED            STATUS              PORTS        NAMES
c38f50a540ff        docker.io/mysql          "docker-entrypoint.sh"  9 seconds ago      Up 8 seconds        0.0.0.0:3306->3306/tcp        cmh-mysql         

4.说明

-p 外部端口:容器端口,把容器的mysql端口3306映射到宿主机的3306端口,这样想访问mysql就可以直接访问宿主机的3306端口。

-v /opt/data/mysql:/var/lib/mysql,即把宿主机/opt/data/mysql/目录映射到容器的/var/lib/mysql目录。

注意事项:

1:在使用-v选项映射目录时,宿主机需关闭SElinux:

# setenforce 0

或者给数据目录添加相关selinux权限:

# chcon -Rt svirt_sandbox_file_t /my/own/datadir

2:-v 选项原本是把宿主机的目录映射进容器,但是在本文中,是反过来的。即是把容器中的目录映射出宿主机,这是因为官方镜像在制作的时候使用了VOLUME /var/lib/mysql选项。这使得容器中/var/lib/mysql成为一个单独的卷组,在使用挂载选项-v时,就可以把该目录映射出宿主机。

3.mysql 忽略大小写

   mysql默认官方的镜像  配置文件在  /etc/mysql/mysql.conf.d/mysqld.cnf;修改 这个配置文件 加入 lower_case_table_names=1,然后重启容器;

 

容器中安装vi命令:

 

apt-get update 

apt-get install vim

 或者用shell sed 命令:

sed -i '/lower_case_table_names/d' /etc/mysql/mysql.conf.d/mysqld.cnf

sed -i '/\[mysqld\]/$a lower_case_table_names=1' /etc/mysql/mysql.conf.d/mysqld.cnf

第一条是 删除 lower_case_table_names;

第二条是 添加;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值