使用 Vagrant/Docker 安装linux系统及相关环境

一、安装 virtual Box

下载地址:Index of http://download.virtualbox.org/virtualbox

安装比较简单,双击 VirtualBox-6.1.26-145957-Win.exe,修改安装目录后即一直点击下一步即可完成安装。

在安装完成后,可以设置下修改默认存储路径,点击【管理】->【全局设定】

【常规】->【默认虚拟电脑位置】,修改成你想要设置的路径即可。

二、安装 vagrant

下载地址: Vagrant Versions | HashiCorp Releases

安装比较简单,双击 vagrant_2.2.18_x86_64.msi,修改安装目录后即一直点击下一步即可完成安装。

检查 vagrant 是否安装成功,打开 windows cmd 创建,输入 vagrant,出现如下所示即可。

Vagrant 安装完成以后会默认把 Home 目录设为 C:\Users\用户名\.vagrant.d,然后所有的相关文件如 boxes 都会放在这里。所以我们需要把 Home 指向其它非系统分区的英文目录。其实很简单,只要设定 VAGRANT_HOME 环境变量就可以了。

Vagrant 命令详情

## machine管理 ##
vagrant init      # 初始化,生成Vagrantfile,可指定box
vagrant up        # 启动虚拟机,可指定machine
vagrant halt      # 关闭虚拟机,可指定machine
vagrant reload    # 重启虚拟机,并重新加载配置参数,可指定machine
vagrant ssh       # SSH 至虚拟机,可指定machine
vagrant suspend   # 挂起虚拟机,可指定machine
vagrant resume    # 唤醒虚拟机,可指定machine
vagrant status    # 查看虚拟机运行状态,可指定machine
vagrant destroy   # 销毁当前虚拟机,可指定machine
vagrant suspend   # 挂起当前的虚拟机
vagrant resume    # 恢复前面被挂起的状态


## box管理 ##
vagrant box list    # 查看本地box列表
vagrant box add     # 添加box到列表
vagrant box remove  # 从box列表移除 

三、vagrant 安装 centos7

1、前期准备

首先,我们先去 vagrant 官网查看我们可以下载的 centos 的版本

本人是从网上先下载好的 box 文件【CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box】。 

可以复制下载链接,使用迅雷下载,下载速度会快很多

打开 cmd 窗口,切换目录到本地目录box文件所在目录

2、安装一:vagrant 初始化 

执行 【vagrant box add】 添加centos box 

vagrant box add centos7 ./CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box

执行【vagrant init】命令初始化一个虚拟机

vagrant init centos7

初始化后,【vagrant-box】目录下会多出一个Vagrantfile文件

启动虚拟机

vagrant up

若 vagrant up 命令失败,则可能是 vagrant 与 Virtual Box 不兼容导致,需要下载最新的 vagrant 与 Virtual Box 即可。

3、安装二:vagrant 配置私有网络

首先使用【ipconfig 】命令查看本机 Virtual box 的虚拟网络

将打开《Vagrantfile》并将 【config.vm.network "private_network"】注释打开,并将ip 网段修改(与Virtual box 的虚拟网络网段相同) 

  config.vm.network "private_network", ip: "192.168.56.56"

重启虚拟机,并重新加载配置参数

vagrant reload

 4、安装四:网络检查

 在virtualBox中可以看到有一个名为centos7虚拟机正在运行 

执行【vagrant ssh】命令,登录虚拟机

vagrant ssh

centos 默认的账号密码

  • vagrant / vagrant
  • ​ root / vagrant

执行【ip addr】可以查看到我们设置的私有网络 IP

windows 系统 与虚拟机可以互相ping通

四、linux 安装 docker

docker 仓库地址: https://hub.docker.com/ 

官网安装教程: https://docs.docker.com/engine/install/centos/

1、先卸载旧版本的一些内容

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

因为我们没有安装过,所以如下图 

2、设置仓库的地址 

安装依赖包之前,需要先安装依赖的包 

sudo yum install -y yum-utils

设置仓库地址

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

3、安装 docker 的引擎

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

4、启动 docker

sudo systemctl start docker

启动成功后,运行 docker -v 检查docker 版本

docker -v

 还可以运行 【docker images】查看 docker 安装了多少镜像

sudo docker images

5、设置 docker 开机自启动

sudo systemctl enable docker

6、配置 docker 阿里云镜像加速

登录 阿里云,点击控制台

点击【产品与服务】->【产品服务列表】->【容器镜像服务】

点击【镜像工具】->【镜像加速器】->【CentOS】 

按照下面的指令进行操作。

首先创建一些目录

sudo mkdir -p /etc/docker

接下来,配置镜像加速器地址

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://oackyq07.mirror.aliyuncs.com"]
}
EOF

重启 docker 的守护进程

sudo systemctl daemon-reload

重启docker服务

sudo systemctl restart docker

五、docker 安装其他软件

在安装之前,首先执行 sudo,切换到系统管理员

sudo su

1、docker 安装 mysql

进入官网查看 需要下载的版本 https://hub.docker.com/_/mysql?tab=tags&page=1&ordering=last_updated

我下载的是 mysql 5.7

docker pull mysql:5.7

创建实例并启动

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

下图表示执行成功 

 参数说明:

  • -p 3306:3306 :将容器的3306端口映射到主机的3306端口
  • -v /mydata/mysql/log:/var/log/mysql :将日志文件挂载到主机(冒号前为linux目录,冒号后为容器目录)
  • -v /mydata/mysql/data:/var/lib/mysql :将数据文件挂载到主机(冒号前为linux目录,冒号后为容器目录)
  • -v /mydata/mysql/conf:/etc/mysql  :将配置文件挂载到主机(冒号前为linux目录,冒号后为容器目录)
  • -e MYSQL_ROOT_PASSWORD=root :初始化 root 用户的秒
docker ps

可以查看容器里面的进程

使用 SqlYong 连接数据库 ,连接成功。

【docker exec -it 】+ 容器名/容器ID +【/bin/bash】 ,可以进入容器里面

docker exec -it mysql /bin/bash

【exit】就可以退出docke容器。

修改mysql的配置文件

vi /mydata/mysql/conf/my.cnf

配置文件内容如下,保存退出。 

[client]
# 对本地的mysql客户端的配置
default-character-set = utf8
# 对其他远程连接的mysql客户端的配置
[mysql]
default-character-set = utf8

# 本地mysql服务的配置
[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

【docker restart mysql】重启mysql

docker restart mysql

 查看 mysql 配置文件 

进入 mysql 容器

docker exec -it mysql /bin/bash

查看 my.cnf 内容

cat /etc/mysql/my.cnf

看到下图内容说明,在虚拟机中修改的 my.cnf 已经同步到 mysql 容器的配置文件。 

2、docker 安装 redis

下载 redis 最新的镜像文件

docker pull redis

创建虚拟机挂载的redis容器的配置目录

mkdir -p /mydata/redis/conf

 创建虚拟机挂载的redis配置文件

touch /mydata/redis/conf/redis.conf

创建并启动实例

docker run -p 6379:6379 --name redis -v /mydata/data:/data -v /mydata/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

【docker ps】查看docker 实例

使用【redis-cli】客户端测试 redis

docker exec -it redis redis-cli

修改配置文件,使redis的数据持久化

vi /mydata/conf/redis.conf
appendonly yes

重启 redis 容器即可。 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值