说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!
文章目录
一、叙述
1.前言
1.为什么不在windows和mac上直接使用docker
- 因为在windows和mac上安装的docker-desktop程序,第一在以后使用中images越多占用本机内容越大,第二在使用images和删除images时候会出现很多意想不到的错误,第三docker的原生记住是linux,所以博主这里不使用基于windows操作系统的docker,而是在linux系统中安装使用docker
2.安装方式
- 通过linux操作系统直接进行安装
- 通过Oracle VM VirtualBox创建linux虚拟机,在虚拟机中安装
- 通过VMware Workstation创建linux虚拟机,在虚拟机中安装
3.选择安装方式
- 通过创建虚拟机方式安装docker,首先需要下载linux(ubuntu或者centos)的镜像文件,然后才能安装虚拟机,这种方式比较繁琐,消耗时间比较长
4.Vagrant
4.1 什么是Vagrant
- Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。
- 比如说你想创建一个centos环境的虚拟机,不需要安装系统这么麻烦,通过Vagrant可以快速创建。
- 使用Vagrant首先需要安装vitualbox(上一篇博客安装docker时已经在本机安装了vitualbox),vitualbox下载地址,当然也可以使用Vmware Workstation,不过Vagrant+VmwareWorkstation是要收费的。
4.2 下载Vagrant
- 官网下载地址:https://www.vagrantup.com/downloads.html
- 选择你的操作系统进行下载即可,博主因为是在windows上使用vagrant工具,所以选择windows 64位即可
- 通过浏览器下载的方式,会发现相当的慢,这里博主给大家发个福利,使用迅雷下载会发现超级快
4.3 安装Vagrant
- 在安装Vagrant之前,必须保证已成功安装vitualbox
- 傻瓜式安装,安装完成后,重启一下电脑
4.4 检验Vagrant命令
- 打开cmd窗口,输入vagrant --help,提示本机上的powershell版本为2,而vagrant最低要求为3
- 打开powershell,输入$PSVersionTable查看版本为2
- 下载Windows Management Framework 3.0的6.1内核版本安装文件
https://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu - 打开安装文件,提示如下错误
- 解决以上错误提示的方法,将文件扩展名从.msu改为.cab,然后解压到独立的文件夹中
- 紧接着打开cmd,在命令行中执行以下命令(双引号中的内容为文件路径)
dism /online /add-package /packagepath:“F:\tools\Windows6.1-KB2506143-x64\Windows6.1-KB2506143-x64.cab”,博主之前进行了重启,各位会提示输入y执行重启电脑
- 打开powershell,此时版本为3.0了
- 打开cmd窗口,输入vagrant --help命令执行成功
二、Vagrant创建虚拟机
1.初始化Vagrantfile配置文件
- 首先自定义创建存放centos的目录,进入此目录,执行vagrant init CentOS7命令
- 查看Vagrantfile文件内容
- 此时如果执行vagrant up命令,就会从vagrant官网去下载centos7的virtualbox.box镜像文件,然后进行安装,因为此方式会从官网下载centos7的box文件并且非常慢,所以博主将其下载后,放到本地centos7目录再执行vagrant up命令则会以此box文件进行安装
- 怎么获取下载地址呢,在当前地址后面加上/providers/virtualbox.box
即下载地址为:https://app.vagrantup.com/centos/boxes/7/versions/1804.02/providers/virtualbox.box
2.创建centos7虚拟机
- 将下载好的CentOS-7-x86_64-Vagrant-1804_02.VirtualBox.box镜像文件拷贝到Vagrantfile所在的目录
- 使用本地box文件,vagrant box add box名称(与Vagrantfile中的box名称一致) box路径
- 执行vagrant up命令创建和配置客户机,整个创建生成日志如下
3.检验虚拟机安装成功
- 打开Oracle VM VirtualBox,可以看到以上日志设置虚拟机的名字正在运行中
- 现在通过vagrant ssh命令进入创建的centos7虚拟机,并查看yum版本
4.Vagrant基本命令
- 查看当前虚拟机的状态
vagrant status
- 关闭虚拟机,在查看虚拟机状态
vagrant halt
- 删除虚拟机
vagrant desotry
- 关闭虚拟机后,使用vagrant up命令即可开启虚拟机
vagrant up
三、centos安装docker
1.安装文档
- 首先通过vagrant up命令开启centos7虚拟机,并进入虚拟机中
- 进入docker官网查看centos安装docker的文档,会有详细的安装docker的命令
2.安装命令
- 根据官方文档来操作,首先卸载旧版本,因为没有安装过,所以不存在
$ 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 \
lvm2
- 设置稳定的存储库
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 安装最新版本的Docker Engine-Community和containerd(时间比较长)
sudo yum install docker-ce docker-ce-cli containerd.io
- 启动Docker,查看客户端和服务端信息
sudo systemctl start docker
sudo docker version
- 最后,通过运行hello-world 映像来验证是否正确安装了Docker Engine-Community
sudo docker run hello-world
四、配置Vagrantfile实现一步创建VM并安装启动Docker
1.策略
在之前完成centos安装docker的流程是首先创建centos虚拟机以后,进入centos虚拟机使用yum命令安装docker,这个稍微没有那么自动化的感觉,分为两大步骤;
现在可以通过Vagrantfile文件中配置yum安装docker的命令,从而在执行vagrant up命令时自动化完成创建虚拟机以及在虚拟机中安装docker。
2.配置
- 编辑Vagrantfile配置文件,在如下代码中添加之前安装docker的yum命令
3.实施
- 通过Vagrantfile该配置文件,即可创建一台安装docker并启动docker的虚拟机了
- 为了演示给大家,博主将拷贝Vagrantfile文件到centos7_2目录下,然后将centos7目录下的Vagrantfile文件中的shell命令注释掉,因为在centos7_2下进行演示,并将演示的box名称改为CentOS7_2
- 切换到centos7_2目录,添加本地box镜像文件
- 执行vagrant up命令创建虚拟机然后并执行Vagrantfile配置文件中的yum命令,通过日志,可以看到安装完成,并已经安装docker所需要的包了
- 现在需要进入虚拟机中,执行sudo docker version命令,显示出客户端和服务端的信息,即表示创建虚拟机到安装docker一步完成