目录
[2. docker中安装mysql](#2. docker中安装mysql)
1.安装docker
SSH 登录到虚拟机:
-
使用MobaXterm或其他SSH客户端连接到虚拟机:
ssh vagrant@127.0.0.1 -p 2222
请注意,端口
-p 2222
是默认的SSH端口,如果在Vagrantfile中更改了SSH端口,需要相应地修改。
安装 Docker:
-
如果之前安装了docker可以尝试先卸载('\'是用来换行的时候拼接命令的):
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ docker-ce
-
更改镜像源仓库
# 设置docker镜像源 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo yum makecache fast
-
在CentOS 7虚拟机上执行以下命令,安装Docker的ce社区版本:
sudo yum install docker -ce
启动 Docker 服务:
-
启动Docker服务前建议关闭防火墙:
systemctl disable firewalld systemctl stop firewalld
-
启动Docker服务:
sudo systemctl start docker
设置 Docker 开机自启:
sudo systemctl enable docker
配置镜像加速::
ocker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
2. docker中安装mysql
使用docker安装应用,在docker镜像仓库都有对应的应用镜像,docker镜像仓库地址:https://hub.docker.com/
1.选择mysql镜像
右侧有对应的镜像拉取命令,不设置版本号就默认是lastest,我们这里拉取5.7版本
docker pull mysql:5.7
2.查看镜像
[root@10 module]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 f5829c0eee9e 2 hours ago 455MB
[root@10 module]#
3.启动mysql
sudo docker run -p 3306:3306 --name mysql \ # 映射端口3306,容器名称mysql
-v /mydata/mysql/log:/var/log/mysql \ # -v挂载文件目录,避免进入容器访问
-v /mydata/mysql/data:/var/lib/mysql \ # -v挂载文件目录,避免进入容器访问
-v /mydata/mysql/conf:/etc/mysql \ # -v挂载文件目录,避免进入容器访问
-e MYSQL_ROOT_PASSWORD=root \ #设置root密码
-d mysql:5.7 #后台启动
4.修改配置
[root@10 conf]# pwd
/mydata/mysql/conf
[root@10 conf]# cat my.cnf
[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
[root@10 conf]#
[root@10 conf]# docker restart mysql
mysql
[root@10 conf]#
5.进入容器查看配置:
[root@10 conf]# docker exec -it mysql /bin/bash
root@b3a74e031bd7:/# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql
root@b3a74e031bd7:/# ls /etc/mysql
my.cnf
root@b3a74e031bd7:/# cat /etc/mysql/my.cnf
[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
root@b3a74e031bd7:/#
6.设置启动docker时,即运行mysql
[root@10 ~]# docker update mysql --restart=always
mysql
[root@10 ~]#
现在,你已经成功在虚拟机上使用Docker部署了MySQL服务。宿主机可以验证连接: