virtualBox安装虚拟机并且安装docker以及在docker中安装redis和mysql

原文: 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用户

原文地址:https://www.cnblogs.com/meetrice/p/15622711.html