原文: https://blog.csdn.net/sf1234666/article/details/112034430
VirtualBox安装虚拟机并且安装docker以及在docker中安装redis和mysql
1.1、下载virtualBox
https://www.virtualbox.org/wiki/Downloads
1.2、搜索linux系统
https://app.vagrantup.com/boxes/search
1.2.1、下载vagrant
官网地址https://www.vagrantup.com/
安装之后需要重启电脑,重启之后输入 命令查看是否安装成功
vagrant
1.2.2、使用vagrant在virtualBox中创建一个虚拟机
打开镜像仓库 https://app.vagrantup.com/boxes/search 在其中找到centos/7
vagrant init centos/7
执行命令在目录中创建了一个Vagrantfile文件,使用命令 启动虚拟机
vagrant up
连接虚拟机
vagrant ssh
退出虚拟机
exit
停止虚拟机
打开virtualbox 停止
1.2.3、设置虚拟机网络
1.2.4、安装docker
卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装所需的软件包
sudo yum install-y yum-utils \
device-mapper-persistent-data \
vm2
设置仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker Engine-Community
sudo yum install docker-ce docker-ce-cli container.io
启动docker
sudo systemctl start docker
设置docker的开机自启动
sudo systemctl enable docker
为docker设置镜像加速
进入阿里云控制台->容器镜像服务->镜像中心->镜像加速器
1.3、docker安装mysql数据库
https://registry.hub.docker.com/_/mysql?tab=tags&page=1&ordering=last_updated
我们以5.7为例,执行命令
sudo docker pull mysql:5.7
查看镜像
sudo docker images
创建实例并启动
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysq/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
查看运行中的镜像
sudo docker ps
进入mysql的里面
sudo docker exec -it mysql /bin/bash
修改mysql的配置 设置mysql的编码等信息
vi /mydata/mysql/conf/my.cnf
这个时候my.cnf是没有的,我们直接编辑即可
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[Imysqld]
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
重启mysql
sudo docker restart mysql
设置mysql 开机随着虚拟机和docker的启动而启动
docker update --restart=always 容器id
1.4、docker安装redis
docker pull redis
创建实例并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
运行
sudo docker run -p 6379:6379 --name redis \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /mydata/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf
测试redis
sudo docker exec -it redis redis-cli
修改外部的 /mydata/redis/conf 中的redis.conf文件 进行持久化操作,这样redis再重启的时候,里面保存的数据是可以再次查询到的
如果不设置,则redis再次启动的时候 之前存放的数据就都没有了
appendonly yes
重启redis
sudo docker restart redis
设置redis开机随着虚拟机和docker的启动而启动
docker update --restart=always 容器id
1.5、使用xshell连接虚拟机
当我们使用Vgrant 安装完成虚拟机之后,我们可以使用vagrant ssh 连接上
然后我们可以切换到root用户,然后执行vi /etc/ssh/sshd_config 命令,将其中的PasswordAuthentication 改为yes,然后使用passwd修改密码,使用systemctl restart sshd重启密码服务(如果这个命令不行,则可以试试 service sshd restart)
使用ip add查看ip即可使用远程工具登录root用户