Linux(CentOS)环境Docker容器中安装Mysql镜像 |
您所在的位置:网站首页 › docker拉取mysql镜像的指令 › Linux(CentOS)环境Docker容器中安装Mysql镜像 |
Linux(CentOS)环境Docker容器中安装Mysql镜像
1、Docker容器中安装Mysql
docker pull mysql #如果使用docker pull mysql命令,就会下载最新的mysql镜像
docker pull mysql:5.7 #下载5.7版本的mysql
mysql镜像拉取成功: [root@Silence /]# sudo docker pull mysql:5.7 5.7: Pulling from library/mysql bf5952930446: Pull complete 8254623a9871: Pull complete 938e3e06dac4: Pull complete ea28ebf28884: Pull complete f3cef38785c2: Pull complete 894f9792565a: Pull complete 1d8a57523420: Pull complete 5f09bf1d31c1: Pull complete 1b6ff254abe7: Pull complete 74310a0bf42d: Pull complete d398726627fd: Pull complete Digest: sha256:da58f943b94721d46e87d5de208dc07302a8b13e638cd1d24285d222376d6d84 Status: Downloaded newer image for mysql:5.7 docker.io/library/mysql:5.7 查看mysql镜像是否安装成功 #查看已安装的镜像 [root@Silence /]# sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.7 718a6da099d8 11 days ago 448MB [root@Silence /]# 2、创建实例并启动Mysql docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7参数解释: docker run 3306:3306 --name mysql\ #将容器3306端口映射到主机的3306端口 -v /mydata/mysql/log:/var/log/mysql\ #将配置文件挂载到主机 -v /mydata/mysql/data:/var/lib/mysql\ #将日志文件挂载到主机 -v /mydata/mysql/conf:/etc/mysql\ #将配置文件挂载到主机 -e MYSQL_ROOT_PASSWORD=root\ #初始化root用户的密码为root -d mysql:5.7 #开机启动mysql实例创建成功: [root@Silence /]# docker run -p 3306:3306 --name mysql \ > -v /mydata/mysql/log:/var/log/mysql \ > -v /mydata/mysql/data:/var/lib/mysql \ > -v /mydata/mysql/conf:/etc/mysql \ > -e MYSQL_ROOT_PASSWORD=root \ > -d mysql:5.7 743df4fba2e9e58c7fb28d6a59ae3c64c7d98be1ca5f474f8a95b06e534554b7查看Docker中正在运行的实例: [root@Silence /]# docker ps #查看Docker中正在运行的容器 #结果 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 743df4fba2e9 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, 33060/tcp mysql3、启动mysql: docker start mysql这一步执行完之后我们可以尝试用navicat等客户端工具远程连接mysql 如果你用的是阿里云服务器的话远程连接不上是因为你没有打开服务器的3306端口。 问题解决因为我使用的是阿里云服务器,Mysql安装好之后远程连接失败,所以我们需要进入阿里云控制台打开3306端口的安全组。 进入阿里云管理控制后台----云服务器ECS----实例 然后点击实例的网络和安全组,进入之后点击快速添加 新建一个my.cnf文件 vi mydata/mysql/conf/my.cnf #mysql的文件路径已经映射到Linux中,所以我们在Linux中新增文件也会出现在mysql容器中 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve在my.cnf文件中添加以上代码,用来处理字符乱码问题。 保存好之后重启一下mysql [root@Silence /]# docker restart mysql #重启mysql mysql [root@Silence /]#查看mysql容器内部是否新增了刚刚创建的my.cnf文件。 [root@Silence /]# docker exec -it mysql /bin/bash root@743df4fba2e9:/# #成功进入mysql内部 root@743df4fba2e9:/# ls bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@743df4fba2e9:/# cd etc/mysql/ root@743df4fba2e9:/etc/mysql# ls my.cnf #发现我们刚刚新增的my.cnf文件已经存在。 root@743df4fba2e9:/etc/mysql#到目前为止我们的mysql就可以正常使用了。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |