使用vagrant快速创建虚拟机

使用vagrant快速创建虚拟机

  • 一.使用vagrant快速创建虚拟机
    • 1.VirtualBox下载
    • 2.vagrant下载
  • 二.虚拟机网络设置
    • 1.在vagrant安装的用户目录下
    • 2.打开Vagrantfile文件
    • 3.ip地址填入方法
    • 4.测试主机和虚拟机是否能够ping通
  • 三.linux安装docker
    • 1.安装docker
    • 2.卸载旧版本docker, 运行命令
    • 3.需要依赖的包和插件等,运行命令
    • 4.安装docker,执行命令
    • 5.启动docker服务
    • 6.查看docker版本以及是否含有镜像
    • 7.此时的docker不是开机自启的,设置成为开机自启
  • 四.为docker配置阿里云镜像加速
    • 1. [阿里云官方网站](https://www.aliyun.com/) 注册,并登录
    • 2. 依次执行如下命令,docker就用拥有了镜像加速功能
  • 五.docker安装mysql
  • 六.docker安装redis
  • 七.docker安装后可能会出现的问题,以及解决方法

一.使用vagrant快速创建虚拟机

1.VirtualBox下载

1.开启电脑cpu虚拟化
2.VirtualBox下载地址
使用vagrant快速创建虚拟机_第1张图片

2.vagrant下载

1.Vagrant下载
2.Vagrant官方镜像仓库
3.打开window cmd窗口,运行

vagrant init centos/7

即可初始化一个centos7系统, 运行

vagrant up

这里等待的时间有些长大概8-9小时,vagrant up下载box速度太慢的解决方法
即可启动虚拟机。自动使用root用户的密码是vagrant
vagrant其他常用命令

vagrant ssh: 自动使用vagrant用户连接虚拟机。

二.虚拟机网络设置

1.在vagrant安装的用户目录下

使用vagrant快速创建虚拟机_第2张图片

2.打开Vagrantfile文件

使用vagrant快速创建虚拟机_第3张图片

3.ip地址填入方法

打开命令窗口
使用vagrant快速创建虚拟机_第4张图片
在这里插入图片描述
在这里插入图片描述

保存文件,并在命令窗口输入命令。配置生效

vagrant reload

连接虚拟机,输入ip addr查看地址
使用vagrant快速创建虚拟机_第5张图片

4.测试主机和虚拟机是否能够ping通

1.先从window系统ping虚拟机
使用vagrant快速创建虚拟机_第6张图片

2.虚拟机pingwindow系统
使用vagrant快速创建虚拟机_第7张图片

三.linux安装docker

1.安装docker

安装docker

2.卸载旧版本docker, 运行命令

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

使用vagrant快速创建虚拟机_第8张图片
使用vagrant快速创建虚拟机_第9张图片

3.需要依赖的包和插件等,运行命令

 sudo yum install -y yum-utils
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

使用vagrant快速创建虚拟机_第10张图片

使用vagrant快速创建虚拟机_第11张图片

4.安装docker,执行命令

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

使用vagrant快速创建虚拟机_第12张图片
使用vagrant快速创建虚拟机_第13张图片

5.启动docker服务

sudo systemctl start docker

6.查看docker版本以及是否含有镜像

docker -v
sudo docker images

使用vagrant快速创建虚拟机_第14张图片

7.此时的docker不是开机自启的,设置成为开机自启

sudo systemctl enable docker

使用vagrant快速创建虚拟机_第15张图片

四.为docker配置阿里云镜像加速

1. 阿里云官方网站 注册,并登录

使用vagrant快速创建虚拟机_第16张图片
使用vagrant快速创建虚拟机_第17张图片
使用vagrant快速创建虚拟机_第18张图片
使用vagrant快速创建虚拟机_第19张图片

2. 依次执行如下命令,docker就用拥有了镜像加速功能

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://6us7w17t.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

五.docker安装mysql

1.执行命令docker pull mysql下载最新版本; 执行命令docker pull mysql:5.7指定版本下载
使用vagrant快速创建虚拟机_第20张图片
2.检查当前所有的镜像sudo docker images
使用vagrant快速创建虚拟机_第21张图片
3.创建实例并启动,每次sudo太麻烦,切换到root用户su root 密码是vagrant
使用vagrant快速创建虚拟机_第22张图片
4.运行如下命令实现mysql的docker容器文件挂载与端口映射,并启动mysql,容器有可能创建成功,但没有成功运行(删除该容器,再重新执行命令也许有效)

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/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

使用vagrant快速创建虚拟机_第23张图片
出现如下标志说明容器已经启动起来了
使用vagrant快速创建虚拟机_第24张图片
5.查看运行中运行中运行中的容器执行命令docker ps。 (执行docker ps -a)查看在docker中存在的容器
使用vagrant快速创建虚拟机_第25张图片
6. mysql配置
进入已启动的容器docker exec -it mysql bin/bash,退出进入的容器exit
因为有目录映射,所以我们可以直接在镜像外执行

vi /mydata/mysql/conf/my.conf
vi /mydata/mysql/conf/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

保存,重启mysql docker restart mysql
设置mysql自启动 docker update mysql --restart=always

六.docker安装redis

如果直接挂载的话docker会以为挂载的是一个目录,所以需要先创建一个文件然后再挂载,在虚拟机中

docker pull redis
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
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

默认不支持持久化,但是新版本中已经默认持久化。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis
设置redis自启动 docker update redis --restart=always

七.docker安装后可能会出现的问题,以及解决方法

完美解决Vagrant安装docker虚拟机centos中的/dev/sda1硬盘满了40G

你可能感兴趣的:(vagrant,docker)