目录
使用MobaXterm或其他SSH客户端连接到虚拟机:
ssh vagrant@127.0.0.1 -p 2222
请注意,端口
-p 2222
是默认的SSH端口,如果在Vagrantfile中更改了SSH端口,需要相应地修改。
如果之前安装了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服务前建议关闭防火墙:
systemctl disable firewalld systemctl stop firewalld
启动Docker服务:
sudo systemctl start docker
sudo systemctl enable docker
ocker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
使用docker安装应用,在docker镜像仓库都有对应的应用镜像,docker镜像仓库地址:https://hub.docker.com/
右侧有对应的镜像拉取命令,不设置版本号就默认是lastest,我们这里拉取5.7版本
docker pull mysql:5.7
[root@10 module]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.7 f5829c0eee9e 2 hours ago 455MB [root@10 module]#
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 #后台启动
[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]#
[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:/#
[root@10 ~]# docker update mysql --restart=always mysql [root@10 ~]#
现在,你已经成功在虚拟机上使用Docker部署了MySQL服务。宿主机可以验证连接: