第1章 Docker应用实战-基础环境准备
作者:王珂
邮箱:49186456@qq.com
文章目录
前言
在学习Docker应用实战课程之前,我们需要准备学习、实验的环境。因为在实际生产环境中,我们使用到的软件几乎都是运行在Linux系统中。而我们学习,做实验的环境是Windows,为此我们可以在Windows环境下安装VMWare虚拟机软件,然后在VMWare中安装Linux操作系统,之后将学习用到的软件都安装在此Linux操作系统中即可。
本章就带领大家一步一步在VMWare中安装Linux虚拟机,并完成相应配置。之后还会在Linux服务器上安装Docker环境。
本系列课程主要讲解以下内容:
-
在VMWare环境下安装Linux服务器并配置
-
搭建私有GitLab服务器
-
搭建Harbor私有镜像仓库
-
搭建Maven私服Nexus
-
搭建SonarQube代码安全扫描环境
-
搭建Jenkins持续集成、持续部署环境
-
搭建Promethus环境
-
搭建Kubernetes环境
-
搭建微服务生态组件
-
在kubernetes中部署MySql主从
-
在kubernetes中部署Nacos集群
-
在kubernetes中部署Seata
-
-
创建一个电商微服务项目
- 订单微服务
- 账户微服务
- 库存微服务
-
实现电商微服务的CICD
一、在VMWare安装Linux服务器
软件版本说明
软件名称 | 软件版本 |
---|---|
VMware® Workstation 15 Pro | 15.5.0 build-14665864 |
CentOS 7 | CentOS-7-x86_64-DVD-2009.iso |
CentOS 7 ISO的官方下载地址:
http://isoredirect.centos.org/centos/7/isos/x86_64/
以上软件可以从我的阿里云盘下载,地址如下:
# 阿里云盘地址(密码 j9h4)
https://www.aliyundrive.com/s/4oNEmViUCsr
1.1 新建虚拟机
-
运行VMware,创建新的虚拟机,选择“自定义(高级)(C)”
-
选择虚拟机硬件兼容性
-
安装客户机操作系统,选择“稍后安装操作系统”
-
选择客户机操作系统,选择“Linux”
-
虚拟机命名,输入“COS7(node10)”
-
处理器配置
-
虚拟机内存配置,暂时配置为1024M(后期可以调整)
-
网络类型配置,选择“使用网络地址转换(NAT)(E)”
-
I/O控制器类型,选择“LSI Logic(推荐)”
-
磁盘类型,选择“SCSI(S)(推荐)”
-
选择磁盘,选择“创建新虚拟机磁盘(V)”
-
制定磁盘容量,输入“50”G(虽然后期可以扩容,但稍微麻烦)
-
指定磁盘文件,我们将磁盘文件存储在D:\opt\Virtual Machines\COS7(node01)目录
-
完成,点击执行创建
1.2 安装CentOS7
-
设置CD/DVD(IDE)
-
启动虚拟机,在下面的页面按“esc”
-
在下面的页面输入“linux text”后回车
-
下面这个界面需要配置2,3,4,5,7,8,9;先输入2回车
-
设置时区,输入1回车
-
选择“Asia”,在下面输入2 回车
-
选择“Shanghai”时区,输入65回车
-
安装位置配置,选择5回车
-
选择磁盘,默认选择了1,输入c回车,后面默认都输入c回车
-
使用全部空间
-
使用LVM
-
网络设置,输入7回车
-
设置主机名,输入1回车
-
输入主机名,node7回车
-
配置ens33网卡,输入2回车
-
配置IPv4,输入1回车
-
输入IP地址或DHCP
-
配置子网掩码,输入2
-
配置网关,输入3
-
配置启动后自动连接,输入7回车
-
应用安装配置,再输入8回车,再输入c
-
配置root命令,输入8
-
输入root密码
-
创建用户,输入9回车,再选择1回车(创建一个用户)
-
输入用户名:输入3回车,再输入用户名wangke回车
-
创建密码:输入4回车,再输入5回车
-
再输入4
-
输入1回车,再输入c
-
输入3回车,再输入2
-
连续按多次回车,再输入b, 进行安装
二、Linux服务器的基础配置
2.1 基础配置
- 配置主机名
vi /etc/hostname
添加内容:
node21
- 配置IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
编辑内容:
TYPE=“Ethernet”
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“none”
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
IPV6_ADDR_GEN_MODE=“stable-privacy”
NAME=“ens33”
UUID=“f8a8c901-402a-4ad9-b53f-b8423d576b35”
DEVICE=“ens33”
ONBOOT=“yes”
IPADDR=“192.168.1.21” # IP地址
PREFIX=“24”
GATEWAY=“192.168.1.2” # 网关
- 配置域名服务器
vi /etc/resolv.conf
添加内容:
nameserver: 8.8.8.8
nameserver: 8.8.4.4
- 配置Yum源
配置腾讯的yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
刷新yum源缓存
# 先清空缓存,再建立缓存
yum clean all && yum makecache
- 安装vim
配置完yum源后,安装vim测试一下
yum install -y vim
2.2 Linux内核升级
因为某些软件要求Linux内核是4.0以上,所以我们对Linux内核进行升级,升级核到4.19.12-1版本。
Linux的内核有2个文件:
-
kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm
-
kernel-ml-devel-4.19.12-1.el7.elrepo.x86_64.rpm
以上两个内核文件可以在我的阿里云盘下载:
# 阿里云盘共享地址(提取码:j9h4)
https://www.aliyundrive.com/s/4oNEmViUCsr
- 上传内核
将内核文件上传到node21服务器的/opt/kernel/目录
- 安装内核
进入到目录 /opt/kernel, 执行安装命令
yum localinstall -y kernel-ml*
- 更改内核启动顺序
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
检查默认内核是不是4.19.12-1
grubby --default-kernel
[root@node21 ~]# grubby --default-kernel
/boot/vmlinuz-4.19.12-1.el7.elrepo.x86_64
- 重启
reboot
三、Docker环境安装和配置
3.1 安装Docker社区版
- 安装yum-utils工具
yum install -y yum-utils
- 安装docker官方yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 查看docker版本
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:24.0.2-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.1-1.el7 docker-ce-stable
- 执行安装
yum install -y docker-ce-24.0.1 docker-ce-cli-24.0.1 containerd.io docker-buildx-plugin docker-compose-plugin
- 设置开机自启动
systemctl enable docker
- 启动docker
systemctl start docker
四、Docker-Compose环境安装
Docker Compose是Docker官方编排(Orchestration)项目之一,负责快速的部署分布式应用。
Compose定位是:定义和运行多个 Docker 容器的应用。
使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如:要实现一个 Web 项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。Compose恰好满足了这样的需求。它允许用户通过一个单独的docker-compose.yml 模板文件来定义一组相关联的应用容器为一个项目。
Compose 中有两个重要的概念:
-
项目 ( project ):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
-
服务 ( service ):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
docker-compose文件格式与docker版本关系
docker-compose文件格式 | docker版本 | |
---|---|---|
3.4 | 7.09.0+ | |
3.3 | 7.09.0+ | |
3.2 | 7.09.0+ | |
3.1 | 13.1 | |
3.0 | 13.0+ | |
2.3 | 7.06.0+ | |
2.2 | 13.0+ | |
2.1 | 12.0+ | |
2.0 | 10.0+ | |
1.0 | 9.1+ |
下载安装
Windows环境下载
https://github.com/docker/compose/releases/tag/v2.19.0
Linux下载
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
或者
sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
测试安装
docker-compose --version
总结
以上就是本章节课程的主要内容,希望能够对您有所帮助。