VirtualBox和vagrant快速创建虚拟机安装docker

1、下载virtualbox及vagrant虚拟机镜像

virtualbox官网-> https://www.virtualbox.org/
vagrant虚拟机iso镜像官网-> https://www.vagrantup.com/
注意: 安装文件的目录不包含中文

2、Vagrant安装后的两种使用方法

方法一

通过VirtualBOX正常启动操作

vagrant的命令使用
首先安完vagrant后进行重启一下,开机之后cmd命令输入 vagrant 会有很多引导提示,如下图
在这里插入图片描述

vagrant init 拉取官方镜像命令

cmd输入 vagrant init centos/7 直接就可以在virtualbox中快速创建一个centos操作系统
更多操作系统根据https://app.vagrantup.com/boxes/search网址在命令行自行添加

拉取官方镜像创建时,切换至c盘以外的磁盘空文件夹,不会占用c盘空间,会生成如下图的文件。缺点是每次cmd命令通过vagrant up启动虚拟机时,cmd要切换安装的路径。如不用cmd命令启动虚拟机,可以在virtualbox中手动开启虚拟机,在开启的虚拟机中进行命令的操作
在这里插入图片描述

配置网卡

记事本形式打开生成的 Vagrantfile 文件,找到图片中的一行ip地址,cmd命令输入ipconfig查看ip地址,取消注释,将 Vagrantfile 文件中的ip更改为ipv4中的地址192.168.56.1。 更改完之后重新启动虚拟机,在linux系统ip addr命令查看IP地址 在window系统cmd通过ipconfig`命令查看ip地址。 两个系统互相ping验证是否ping通
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


作者两种选取方法建议

方法一 为最简单的方法,如不想记方法二 2.2之后这么多cmd命令或不使用cmd操作虚拟机,就可采用此方法 直接就可以在virtualbox中进行一系列linux的命令操作及关机,更为简便
用户名及密码为 vagrant
缺点是方法一在打开的虚拟机窗口进行linux命令操作,方法二直接通过ssh形式在cmd窗口进行linux操作。 自行采取方法,推荐方法一简便
在这里插入图片描述

方法二

通过cmd命令切换至安装vagrant的磁盘操作虚拟机

安装完virtualbox之后,不需要进行任何操作,也不用创建和下载虚拟机。可以使用下载的vagrant镜像快速创建一个虚拟机

2.1vagrant的命令使用

首先安完vagrant后进行重启一下,开机之后cmd命令输入 vagrant 会有很多引导提示,如下图
在这里插入图片描述

2.2vagrant init 拉取官方镜像命令

cmd输入 vagrant init centos/7 直接就可以在virtualbox中快速创建一个centos操作系统
更多操作系统根据https://app.vagrantup.com/boxes/search网址在命令行自行添加

拉取官方镜像创建时,切换至c盘以外的磁盘空文件夹,不会占用c盘空间,会生成如下图的文件。缺点是每次cmd命令通过vagrant up启动虚拟机时,cmd要切换安装的路径。如不用cmd命令启动虚拟机,可以在virtualbox中手动开启虚拟机,在开启的虚拟机中进行命令的操作

在这里插入图片描述


2.3vagrant up启动创建虚拟机命令

cmd中输入 vagrant up 直接可以启动虚拟机,可以在virtualbox中看到运行的虚拟机

如安装虚拟机的位置在c盘外,cmd切换至虚拟机安装目录再运行 vagrant up命令,或者采取方法一进行操作

在这里插入图片描述

2.4 vagrant ssh命令 通过cmd创建的虚拟机并cmd连接至虚拟机

在这里插入图片描述

2.5 exit 推出虚拟机连接命令

exit为 cmd退出关闭虚拟机命令
在这里插入图片描述

配置网卡

记事本形式打开生成的 Vagrantfile 文件,找到图片中的一行ip地址,cmd命令输入ipconfig查看ip地址,取消注释,将 Vagrantfile 文件中的ip更改为ipv4中的地址192.168.56.1, 更改完之后重新启动虚拟机。
在linux系统ip addr命令查看IP地址 在window系统cmd通过ipconfig`命令查看ip地址。 两个系统互相ping验证是否ping通

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以在virtualBox工具中配置固定的ip地址,防止重启服务器ip地址改变
在这里插入图片描述
最后注意设置桥接模式,默认为NAT模式!!

3、安装开发工具

linux centos系统安装Docker

1 如已安装docker执行卸载命令
yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

2  安装需要的依赖包:
sudo yum install -y yum-utils

3 设置Dokce软件源信息
# 3.1官方的方式,速度会特别慢,需要手动执行命令配置阿里云软件源(推荐3.2)
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

    centos配置阿里云镜像参考地址
https://cr.console.aliyun.com/cn-qingdao/instances/mirrors

配置完后重新加载
systemctl daemon-reload
配置完后重新启动docker 命令
systemctl restart docker
------------------------------------------------------------------------
# 3.2、推荐使用此方法
$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
$ sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

4 更新并安装Docker-CE环境
sudo yum makecache fast
sudo yum -y install docker-ce

可只执行如上命令 sudo yum install docker-ce docker-ce-cli containerd.io

# 停止docker
sudo service docker stop
# 重启docker
sudo service docker restart

# 启动docker服务,并设置开机启动
systemctl enable docker.service && service docker start
------------------------------------------------------------------------
Docker启动的两种方法 
service docker start
systemctl start docker

查看是否启动成功
docker -v     # 查看docker版本

# docker设置开机自启动
systemctl enable docker

docker安装mysql5.7

搜素mysql所有的docker版本
docker search mysql 

1 拉取mysql镜像
 docker pull mysql:5.7

2 创建mysql容器  不挂载数据(注意设置自己的密码)
#方式1、 --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
# docker run -p 对外暴露的端口:mysql运行端口 --name 容器名称 -e MYSQL_ROOT_PASSWORD=mysql连接密码 -d 镜像名:版本号
# -p 对外暴露的端口:mysql运行端口		
# --name 容器名称	//镜像首次启动时会自动创建容器,需要给容器命名
# -e MYSQL_ROOT_PASSWORD=mysql连接密码		
# -d 后台运行
命令:
docker run -p 3315:3306 --name mysql5.7 \
-e MYSQL_ROOT_PASSWORD=密码 \
-d mysql:5.7


#方式2 挂载数据(注意设置自己的密码) 路径根据需要自配
--name指定容器名字 -v目录挂载 -p容器端口映射主机端口  -e设置mysql参数 -d后台运行
docker run -p 3306:3306 --name mysql5.7 \
-v /myfile/mysql5.7/conf:/etc/mysql/mysql.conf.d \
-v /myfile/mysql5.7/log:/var/log/ \
-v /myfile/mysql5.7/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=密码 \
-d mysql:5.7


3 进入mysql容器
docker exec -it  容器名称/容器id bin/bash

4 远程如连接不上 可执行下面操作 修改所有主机可以连接到mysql服务器:
  # mysql -u root -proot 

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库

   # 刷新权限
flush privileges;

退出容器快捷键 ctrl+d 或者不关闭退出 ctrl+p+q

# 如安装mysql8.0远程连接不上解决方法,因为8之后密码加密和之前版本不同
alter user 'root'@'%' identified with mysql_native_password by '密码';


时区更改(根据需要操作)
> set global time_zone = '+8:00'; (修改mysql全局时区为北京时间,也就是我们所在的东8区)
> set time_zone = '+8:00'; (修改当前会话时区)
> flush privileges; (立马生效)

docker安装mysql8.0

# 镜像拉取
docker pull mysql:8.0.16

# 创建挂载目录
mkdir -p /docker/mysql/{log,conf,data}

docker run --name mysql_8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/log:/var/log/mysql mysql:8.0.16 --lower_case_table_names=1


docker run 
--name mysql8                                           容器名字
--restart always                                        docker重启后自动自动
-p 3306:3306                                            端口映射
-e MYSQL_ROOT_PASSWORD=2418870649                       数据库密码设置
-d                                                      后台运行容器
-v /docker/mysql/data:/var/lib/mysql                    挂载数据库数据    
-v /docker/mysql/conf:/etc/mysql/conf.d                 挂载配置文件
-v /docker/mysql/log:/var/log/mysql                     挂载数据库日志
mysql:8.0.16 
--lower_case_table_names=1                              设置表名参数名等忽略大小写(要在第一次设置的时候设置)
--character-set-server=utf8mb4 
--collation-server=utf8mb4_unicode_ci

------------------------------------------------------------------------
# 容器中安装vim
apt-get update
apt-get install vim

# 把容器中的文件拷贝出来
docker cp 容器id:/etc/mysql/my.cnf /root/
 
# 把主机的文件拷贝到容器中
docker cp  /home/tom/my.cnf  容器id:/etc/mysql/```

安装redis

在虚拟机中创建redis数据挂载目录

# 创建redis挂载目录
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
# 拉取redis镜像
docker pull redis
#通过镜像创建容器
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

# 进入redis容器中
docker exec -it redis redis-cli

redis默认是不持久化的。在配置文件中输入appendonly yes,支持aof持久化


vim /mydata/redis/conf/redis.conf
# 添加下面内容
appendonly yes
保存退出  
执行如下命令->    重启redis      连接redis
docker restart redis        /   docker -it redis redis-cli

设置redis容器在docker启动的时候启动
docker update redis --restart=always
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值