vm虚拟机如何安装docker_安装虚拟机Centos系统并安装Docker过程记录

本文详细记录了在Mac系统中使用VM虚拟机安装Centos7,然后在Centos7上安装Docker和Docker-Compose的过程。作者在尝试解决K8s pod日志收集问题时,发现可能与系统有关,于是转向使用Centos系统。文中还提及了xpos共识配置问题,并提供了相关解决方案。最后,作者遇到了与最初在Mac上相同的问题,但通过这个过程积累了宝贵的经验。
摘要由CSDN通过智能技术生成

前言

本文主要介绍下

1、Mac系统安装虚拟机Centos7

2、Centos安装docker、docker-compose的过程

缘何说起这个话题,是因为之前一篇文章 遗留的问题

问题是:loki如何收集k8s的pod日志的问题

那篇文章介绍了4种方式

第一种方式 我在mac电脑上始终达不到预期的效果即

a、通过promtail访问指定路径下的日志文件 比如 访问/var/log/contaner/*目录下的所有文件

b、但是通过grafana界面却显示不出来这个文件夹下面的文件信息

猜测是因为系统原因,因为我用的是mac系统

我问了运维大神 (昵称Qist) 他也建议我换下系统版本试试

(这位大神帮了我很多 在这里先感谢 一下)

所有才有了这篇文章

一开始我在阿里云上买了一台云服务器

花了100块钱 1年的 (哈哈 配置有点低 为了省钱)1核 1G内存 40G硬盘

目前只是为了测试这个问题 也没有必要用太好的配置

(先放这吧 处理完这个问题之后 等用到之后直接用就可以了 反正钱也不多嘛)

但是1核 1G的配置 不足以跑k8s

然后才有的自己在本地搭建虚拟机的想法

插曲-百度链xpos共识的配置

在说这个话题之前 先插入一个问题哈

就是这篇文章种说的一个问题 有朋友说 这里描述的不太详细 希望我再详细的说明下 因为这里百度链的官方文档也没有介绍

(怎么天马行空的感觉 一会loki 一会虚拟机等 没办法 我最近的所忙的内容 就是这些内容 哈哈 )

(之所以在这里插入一个牛头不对马尾的内容 就是心里一直憋着 不吐不快的感觉 )

什么问题呢 就是如何使用xpos共识的问题

xpos就是tdpos+chainedBFT,可以保证安全性

为什么要这个呢 因为我们公司测试环境有4个节点 3个出块节点 1个同步节点

跑一段时间就发现 bootNode节点 和 其他的3个节点断连了 区块高度不同步了

问了下 百度链大牛超哥 他建议添加换成xpos这个共识看看情况

下面说下 如何配置(截止目前 20年7月30号 官方还没有给出相应的文档)

创世块配置模版文件

https://github.com/xuperchain/xuperchain/blob/master/core/data/config/xuper_bft.json

这里需要注意这几个配置

1、proposer_num 出块节点数目(即共识节点数)

如截图 我是在本地测试的 供3个节点 2个出块节点(共识节点)1个同步节点

所以这里配置为2

2、init_proposer 这个是出块节点对应的节点账户

3、init_proposer_neturl 这个是出块节点对应的neturl地址

如何获取对应节点的netnul地址

./xchain-cli netURL get -H 127.0.0.1:37101

好了 这个问题就介绍到这里了 下面转入当前的话题 (2个毫无关联性的话题捏合在一起 对百度链不感冒的朋友们 选择性忽略哈 [抱拳])

mac 安装虚拟机和centos7

因为需要下载虚拟机和centos系统 为了节省宝贵的时间 我购买一个月(截止到20年8月27号)的百度网盘会员

为了使得vip账号充分被使用 我把账号贴在这里供朋友们所使用 我平时也很少去下载大文件资料

15900411193

mfx#pingfanren

(别用我的账号干坏事就行了哈 仅用于下载你的工作学习资料哈)vmware 11.5 pro 我的百度网盘地址:centos7 百度网盘地址:

虚拟机安装之后的效果

创建虚拟机

选择centos版本

选择虚拟机的存储文件夹

这里会报一个错误

安装界面

说明需要选择下要安装的操纵系统

从本地电脑上选择

选中连接

再回到图安装界面 按下回车键

则会进入到

选择语言

开始安装

设置root密码

等待安装完成

重启

就可以使用了

连接并使用centos

先查看下centos的ip

修改配置文件

将onboot修改为yes

重启下网络

现在就有了ip了

连接centos

安装docker

如果之前有安装过docker 先删除docker

sudo yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-selinux \

docker-engine-selinux \

docker-engine

查看有没有docker

rpm -qa |grep docker

docker-ce-cli-19.03.12-3.el7.x86_64

删除该版本的docker

yum -y remove docker-ce-cli-19.03.12-3.el7.x86_64

查看linux内核版本

Docker 要求 CentOS 系统的内核版本高于 3.10

uname -r

3.10.0-123.el7.x86_64

更新版本库

sudo yum update

安装docker

sudo yum install docker-ce

查看版本号

docker version

如果docker server 不可用

查看docker服务状态

systemctl status docker.service

直接启动docker

dockerd

看看报什么错误

yum install xfsprogs

如果是报文件限制错误

/usr/lib/systemd/system/containerd.service

LimitNOFILE=1048576

/etc/security/limits.conf

/etc/security/limits.d/20-nproc.conf

fs.file-max

fs.nr_open

上面只是提供了一个解决思路 详细的朋友们再去了解 加深印象

再次启动

dockerd

重启docker

systemctl daemon-reload

sudo service docker restart

查看docker状态

systemctl staus docker

docker info

安装docker-compose

mac和windows客户端下安装完docker之后,docker-compose是带着的

linux系统下,需要先安装docker,然后再安装docker-compose

以非root用户运行docker-compose下载docker-compose可执行文件

curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose赋予可执行权限

sudo chmod +x /usr/local/bin/docker-compose添加软引用

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose查看版本号

docker-compose --version

安装loki

安装的过程就不再处理赘述了

在这篇文章有详细记载

启动起来loki、grafana、promtail之后

首先在虚拟机上看看可不可以访问

curl http://localhost:3000

如果不可以访问 则需要升级内核版本 因为这里安装的是最新版本的docker(19版本)所以需要高版本的内核支持

升级的过程

uname -a

docker info

free -h

iptables-save

ip a

docker p

docker logs 1e

yum update

yum-complete-transaction --cleanup-only

yum update

yum update kernel*

yum clean all

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

yum --enablerepo=elrepo-kernel install kernel-ml

grub2-set-default 0

grub2-mkconfig -o /boot/grub2/grub.cfg

reboot

uname -a

docker info

service docker start

docker info

ls

docker ps

docker ps -a

docker start bd ea 0f 1e

docker ps

ps -ef

curl 127.0.0.1:3000

在宿主机访问grafana

http://192.168.48.129:3000

如果不可以访问 则添加路由转发设置

如果想用Linux实现最基本的路由(交换机)功能,前提也需要开启内核转发服务

1、开启Linux内核转发

echo "1" > /proc/sys/net/ipv4/ip_forward

SSH执行以上命令,1为开启,0为关闭。

2、保持开机自动启动

vi /etc/sysctl.conf

修改以下字符

# Controls IP packet forwarding

net.ipv4.ip_forward = 0 #0为关闭,1为开启

修改后保存即可,下次开机后可自动加载。

如果还不可以的话 关闭下防火墙

systemctl status firewalld

暂时关闭

systemctl stop firewalld

永久关闭

systemctl disable firewalld

重启

systemctl enable firewalld

或者开放防火墙的指定端口

netstat -anp|grep 3000

tcp6 0 0 :::3000 :::* LISTEN 4888/docker-proxy

tcp6 0 0 192.168.84.128:3000 192.168.84.1:57695 TIME_WAIT -

tcp6 0 0 192.168.84.128:3000 192.168.84.1:58089 TIME_WAIT -

firewall-cmd --zone=public --add-port=3000/tcp --permanent

–zone #作用域

–add-port=3000/tcp #添加端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

最终可以通过宿主机访问到虚拟机上面的grafana

结语

费了老大劲 终于安装好了

那么接着解决咱们文章开头提的问题吧

令人讽刺的是

centos上安装loki也遇到了mac上安装loki同样问题

瞬间崩溃

天呐 我花了2天时间 印证了 这个问题不是因为系统版本(linux、mac)不兼容导致的

哈哈 不过了 我自己体验了下 在mac安装虚拟机 并安装centos 然后解决各种问题的过程

把这个过程记录下来 如果下次遇到了类似的问题 直接翻翻这个文章复习一下就可以了

而不至于每次都像一个无头苍蝇一样乱撞

再一个就是让需要的朋友们看到 为自己解决问题提供一种思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值