docker部署mysql

Docker基础命令

查看所有镜像:

docker images

查看当前运行容器:

docker ps

查看所有容器:

docker ps -a

停止容器:

docker stop [容器编号]

删除容器:

docker rm [容器编号]

删除镜像:

docker rmi [镜像名称(REPOSITORY:TAG)]

进入容器内部:

docker exec -it [容器编号] /bin/bash

 

 

一.下载安装Docker-ce

 

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

sudo yum makecache fast

安装 Docker-ce:

sudo yum -y install docker-ce

启动 Docker 后台服务:

sudo systemctl start docker

启动 Docker 开机自启:

sudo systemctl enable docker

二.配置阿里云镜像加速器

进入阿里云容器镜像服务管理中心:

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

进入镜像加速器:

docker部署mysql_第1张图片

配置加速器:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://wr43j2rh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

三.部署mysql镜像

从docker仓库中拉取mysql5.5版本:

docker pull mysql:5.5

查看docker镜像,确认镜像已经下载:

docker images

在usr文件夹下新建mysql_data文件夹,用来挂载mysql数据:

cd /usr
mkdir mysql_data

挂载启动mysql容器:

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=test1 -v /usr/mysql_data:/var/lib/mysql -d mysql:5.5

 

 


--name表示启动的容器名称;

 

-p表示本机端口映射到的容器端口;

-e设置mysql登录密码以及使用的数据库;

-v设置挂载目录:/usr/mysql_data为本机目录,/var/lib/mysql为容器内部目录;

-d表示镜像名称:标签。

 


查看容器是否启动:

 

docker ps

mysql已经正常启动。

docker ps -a

查看所有容器

 

四.进入mysql容器内部进行操作

进入容器内部:

docker exec -it mysql bash

进入容器内目录:

登录mysql:

mysql -uroot -p

输入设置的mysql密码登录,进入mysql输入界面:

docker部署mysql_第2张图片

查询用户远程登录权限:

select host,user from mysql.user;

host为%即可进行远程登录

退出到容器界面,查询mysql配置文件my.cnf

find -name my.cnf

由于在容器内无法对配置文件进行更改,需要将其拷贝到本机目录,修改后进行替换

退出到本机目录,创建documents文件夹:

exit
cd
mkdir documents

将配置文件复制到documents文件夹内:

docker cp mysql:/etc/mysql/my.cnf /documents/

修改配置文件:

vi /documents/my.cnf

将配置文件替换:

docker cp /documents/my.cnf mysql:/etc/mysql/

查询容器编号:

docker ps

重启容器:

docker restart 容器编号

五.配置防火墙

永久开放3306端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

(非必要)将mysql服务加入防火墙:

firewall-cmd --zone=public --permanent --add-service=mysql

重启防火墙:

systemctl testart firewalld

你可能感兴趣的:(docker部署mysql)