一、docker安装mysql
新建配置 /data/mysql3306/conf/my.cnf(新建logs,data,conf/my.cnf 后面要用)
详情:
[mysql]
#设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysqld]
#设置3306端口
port=3306
#允许最大连接数
max_connections=200
#允许连接失败的次数
max_connect_errors=10
#默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8MB4
#开启查询缓存
explicit_defaults_for_timestamp=true
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#等待超时时间秒
wait_timeout=60
#交互式连接超时时间秒
interactive-timeout=600
secure_file_priv=/var/lib/mysql
[client]
default-character-set=UTF8MB4
执行启动和挂载mysql (需要修改密码,整体复制)
docker run --privileged -d -p 3306:3306 -v /data/dockerData/mysql3306/conf/my.cnf:/etc/mysql/my.cnf -v /data/dockerData/mysql3306/logs:/logs -v /data/dockerData/mysql3306/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=数据库密码 --name mysql3306 mysql:5.7
详情(上述具体含义):
--privileged 使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。
-d:以后台方式运行实例。
配置端口映射:
-p 3306:3306
将容器的3306端口映射到主机的3306端口。
配置mysql数据卷挂载
1.-v /data/dockerData/mysql3306/logs:/logs(日志文件挂载)
将容器中的日志文件夹/var/log/mysql挂载到主机对应的/mydata/mysql文件夹中。
2.-v /data/dockerData/mysql3306/data:/var/lib/mysql(数据文件挂载)
将容器中的数据文件夹/var/lib/mysql挂载到主机对应的/mydata/mysql/data文件夹中。
3.-v /data/dockerData/mysql3306/conf/my.cnf:/etc/mysql/my.cnf(配置文件挂载)
将容器的配置文件夹/etc/mysql挂载到主机对应的/mydata/mysql/conf文件夹中。
注(这里所提的主机指的是当前的linux主机)。MYSQL_ROOT_PASSWORD=数据库密码
设置数据库root的密码。
--name mysql3306
设置mysql容器名称。
mysql:5.7:指定用这个镜像来创建运行实例。
执行到这里就可以用连接工具 mysql Workbentch 连接
常用docker命令学习
###常用docker命令学习
#0. 查看docker 版本
docker version
#1. 拉取镜像 (后面5.7是指定版本,默认是latest最新)
docker pull mysql:5.7
#1. 查看运行的容器 (检查容器是否正在运行)
docker ps
#1. 查看运行的容器 (检查容器是否正在运行)
docker ps
#1. 查看运行的容器 (检查容器是否正在运行)
docker ps
#2. 查看所有容器(包括未运行的)
docker ps -a
#3. 刪除容器 (前三位的容器id就行,全部输也行)
docker rm 19c
#4. 停止运行容器
docker stop 39c
#5. 启动容器
docker start 39c
#执行. 重启容器 (也可以用容器的名称代替)
docker start 39c
#5. 重启容器 (也可以用容器的名称代替)
docker start 39c
#5. 重启容器 (也可以用容器的名称代替)
docker start 39c
#5. 查看容器日志 (执行了启动容器,但是通过docker ps发现没启动成功,可以通过此命令查看具体日志)
docker start 39c
# 查看Mysql容器的数据目录
docker inspect mysql | grep -i datadir
#进入容器内部
docker exec -it [容器id/容器名称] /bin/bash
#进入之后通过命令查看是否可以访问成功
curl http://localhost:容器端口号
# systemctl start docker //启动docker
# systemctl restart docker //重启docker
# systemctl enable docker //设置开启自启
# docker version //查看docker版本
# docker info //查看docker详细信息
# docker --help //查看帮助手册(docker各命令的详细用法)
# docker images -a // 查看docker现有的镜像
# docker rmi (IMAGE ID) //删除运行镜像文件(-f:可强制删除)
# docker search xxxx -s 30 //查找docker hub上点赞超过30的镜像信息
# docker pull xxxx //默认下载最新的镜像信息
# docker run -it xxxx //运行docker镜像
-i:以交互式运行容器
-t:为容器重新分配一个伪输入终端
-d:以后台进程方式启动(但容器必须有前台进程与之响应,不然后台进程以为无事可干,自动kill掉;给加一个前台交互脚本:docker run -d centos /bin/sh -c ''while true;do echo hello mycentos;sleep 5;done" --name mycentos)
--name :给运行容器命名
-P:随机端口映射
-p:指定端口映射(1.ip:hostPort:containerPort. 2.ip::containerPort. 3.hostPort:containerPort 4.containerPort)例子:docker run -d -p 5050:8080 tomcat
# docker ps -a //查看所有的docker进程
# docker ps -n 5 //查看最近运行的5个docker进程
# docker stop (CONTAINER ID ) //停止运行容器
# docker start (CONTAINER ID ) //启动容器
# Ctrl+q+p //暂时退出容器
# docker rm (CONTAINER ID ) //删除运行的容器
# docker logs -t (CONTAINER ID ) //查看运行容器的日志
-t:加入时间戳
-f:跟随最新的日志打印
--tail 5:打印最后的五行日志
# docker inspect (CONTAINER ID ) //查看容器的内部细节
# docker exec -it(CONTAINER ID )ls -l /home //在docker外部运行容器(查看centos容器内home目录下的信息)
#docker exec -it(CONTAINER ID )/bin/bash //重新加入交互界面
# docker attach(CONTAINER ID ) //重新加入交互界面
# docker cp (CONTAINER ID ):/home/a.log /root //将容器内的a.log文件拷贝到外部root目录下
文章来源:https://www.toymoban.com/news/detail-767780.html
文章来源地址https://www.toymoban.com/news/detail-767780.html
到了这里,关于docker上面安装mysql的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!