docker安装mysql镜像

docker

一、docker 安装

1、检查内核版本 必须在3.0以上
    uname  -r
[root@root /]# uname -r
3.10.0-862.el7.x86_64

2、安装docker
    yum install docker
3、输入y确认安装
4、启动docker
    systemctl start docker
    查看docker版本 docker -v
5、开机启动
    systemctl enable docker

二、docker 命令

docker search xxx(docker search mysql) 搜索镜像

docker pull name (拉取镜像) 
eg: docker pull mysql 下载最新版的latest

docker pull name:tag
eg:docker pull mysql:5.7.19 下载指定的tag版本

docker images 查看本地所有镜像
[root@root /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7.19              3e3878acd190        23 months ago       412MB

docker rmi imageId  删除镜像
eg:docker rmi 3e3878acd190

三、启动docker容器步骤

以tomcat为例:
1、搜索镜像
docker search tomcat
2、拉取镜像
docker pull tomcat
3、启动容器
docker run --name container-name -d image-name
container-name 容器名称 
-d 后台运行
image-name 镜像名称
eg: docker run --name mytomcat -d tomcat:latest
4、查看运行中的容器
docker ps 
查看所有的容器 docker ps -a
5、停止容器
docker stop container-name/container-id
6、启动容器
docker start container-name/container-id
7、删除容器
docker rm container-id
8、端口映射
-p 8888:8080
将虚拟机的8888端口映射到容器的8080
eg:docker run -d  -p 8888:8080 tomcat(不指定容器名称)
或者
eg:docker run -d -p 8888:8080 --name mytomcat docker.id/tomcat
9、容器日志
docker logs container-name/container-id

10、service firewalld status 防火墙状态
11、service firewalld stop 暂时关闭防火墙 

四、启动MySQL

#省略搜索下载
查看安装的镜像
[root@root /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              ee48881b3e82        29 hours ago        506MB
mysql               5.7.19              3e3878acd190        23 months ago       412MB

运行mysql
docker run -d --name mysql -p 3306:3306 mysql:5.7.19

sudo docker run -p 3306:3306 --name mysqltest \
-v /mydata/mysql/data:/var/lib/mysql \
-v /home/mysql/mysql-files:/var/lib/mysql-files \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root123456. \
-d mysql:8.0.26

容器名字/ 或者容器ID :表示进入哪个容器 / 进入到容器的内部
sudo docker exec -it + (容器得名字或者)容器ID (容器ID 只要和其他得容器不一样就行,不用写全) /bin/bash.
例如 : sudo docker exec -it mysql /bin/bash
docker ps -a 检查容器运行状态

mysql -uroot -p 

密码: ***

进入MySQL

ls / 查看当前得目录结构

cat + 文件名称.后缀(例如:cat my.cnf) 查看文件内容

修改mysql密码 root
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456.';

刷新权限
FLUSH PRIVILEGES;

mysql -h 127.0.0.1

 

 

 

 

直接启动MySQL:

docker start mysql/mysql 的 ID

重启docker实例mysql :

sudo docker restart mysql

以交互模式进入到容器(mysql)内部

sudo docker exec -it + (容器得名字或者)容器ID (容器ID 只要和其他得容器不一样就行,不用写全)  /bin/bash.

例如 : sudo docker exec -it mysql /bin/bash

查看目录结构 ls /

查看mysql装在那个位置 whereis mysql

查看mysql运行状态
[root@root /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a407363a0a5f mysql:5.7.19 "docker-entrypoint.s…" About a minute ago Exited (1) About a minute ago mysql
3e53fbd0909e tomcat "catalina.sh run" 10 minutes ago Up 10 minutes 0.0.0.0:8888->8080/tcp modest_swirles
发现mysql退出了

查看容器日志
docker logs container-id
[root@root /]# docker logs a407363a0a5f
error: database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
这三个参数必须指定一个

删除容器
docker rm container-name

重新启动
[root@root /]# docker run -d -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.19
256a46e32a8142257e5e90993083ce9278817999d64c816d86eb7132eeeabad4
[root@root /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
256a46e32a81 mysql:5.7.19 "docker-entrypoint.s…" 10 seconds ago Up 9 seconds 0.0.0.0:3306->3306/tcp mysql01
3e53fbd0909e tomcat "catalina.sh run" 18 minutes ago Up 18 minutes 0.0.0.0:8888->8080/tcp modest_swirles

命令行操作mysql
docker exec -it container-name bash
docker exec -it mysql01 bash

mysql -u root -p
回车之后输入密码



参考 :

作者:Mason啊
链接:https://www.jianshu.com/p/701893a132bd
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted @ 2021-08-16 05:47  逆水涵  阅读(431)  评论(0)    收藏  举报