龙空技术网

商城微服务项目组件搭建(一)——Docker安装部署

eclipse2019 404

前言:

此时兄弟们对“centos76桌面版安装教程”都比较珍视,同学们都需要了解一些“centos76桌面版安装教程”的相关内容。那么小编在网络上汇集了一些对于“centos76桌面版安装教程””的相关文章,希望同学们能喜欢,小伙伴们一起来学习一下吧!

1、本文是作者在做mini商城项目的前置文档,所有用到的技术安装都在本篇文档中有详细描述。

2、mini商城是使用SpringCloud生态从0到1搭建的微服务电商项目,具体的项目细节以及代码都已经贴在CSDN的专栏中,地址:。

3、本项目中大部分技术组件都是基于Docker进行安装部署,如果想了解不同技术组件的Linux安装请参考作者的别的专栏文章。

4、文章中有些截图中服务器地址是192.168.100.130,这是作者之前部署的地址,在此做一下说明。

下面先展示一下本项目的一些素材:

1、前端

2、后台

1 服务器准备1.1 刀片机

3台刀片机服务器。都是4核8G内存的机器,硬盘为100G,三台刀片机都安装docker,后续的功能使用到的技术组件,基本上都是在这三台服务器上基于docker容器化技术进行操作的

服务器IP

CPU(核)

内存(GB)

硬盘(GB)

192.168.8.137

4

8

100

192.168.8.138

4

8

100

192.168.8.139

4

8

100

1.2 虚拟机

我本机笔记本是12核32G内存的机器,硬盘为512G的固态硬盘,本机开了四台Centos7虚拟机,四台虚拟机都未安装docker,也是为了演示直接在Linux操作做准备。(这四台虚拟机只是作为一个备用)

虚拟机安转文档在资料/虚拟机安转/虚拟机安装

服务器IP

CPU(核)

内存(GB)

硬盘(GB)

192.168.8.74

2

8

100

192.168.8.75

1

2

100

192.168.8.76

1

2

100

192.168.8.98

1

1

100,挂载了1个单独的盘,10G

1.3 前置安装

所有服务器都要安装

1.3.1 gcc

后面有写技术组件是C写的,需要这哥们来编译,所以提前安装一下

升级gcc版本:

yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bashecho "source /opt/rh/devtoolset-9/enable" >>/etc/profile

确认gcc的版本:

gcc -v

1.3.2 防火墙

为了防止后续有端口掉不通,干脆一点,所有的服务器的防火墙都关了,实际生产中别这么玩,用到什么端口,开启相应权限就好

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

在你的7台服务器上都执行

#查看防火墙状态systemctl status firewalld.service#关闭防火墙systemctl stop firewalld.service#永久关闭防火墙systemctl disable firewalld.service

其他有关防火墙的命令列举如下:

#1、启动防火墙systemctl start firewalld#2、设置开机启动systemctl enable firewalld#3、查看防火墙状态systemctl status firewalld.service  #4、关闭防火墙systemctl stop firewalld.service#5、永久关闭防火墙systemctl disable firewalld.service#6、查看版本firewall-cmd --version#7、查看帮助firewall-cmd --help#8、查看区域信息firewall-cmd --get-active-zones#9、查看指定接口所属区域信息firewall-cmd --get-zone-of-interface=eth0#10、拒绝所有包firewall-cmd --panic-on#11、取消拒绝状态firewall-cmd --panic-off#12、查看是否拒绝firewall-cmd --query-panic#13、将接口添加到区域(默认接口都在public)firewall-cmd --zone=public --add-interface=eth0 #(永久生效再加上 --permanent 然后reload防火墙)#14、设置默认接口区域firewall-cmd --set-default-zone=public #(立即生效,无需重启)#15、查看指定区域所有打开的端口firewall-cmd --zone=public --list-ports#16、在指定区域打开端口(记得重启防火墙)firewall-cmd --zone=public --add-port=80/tcp #(永久生效再加上 --permanent)
1.3.3 zip/unzip
#使用unzip命令解压.zip文件,可能没有安装unzip软件yum list | grep zip/unzip   #获取安装列表    获取不到说明没有安装#安装命令:yum install zip    #提示输入时,请输入y;#安装命令:yum install unzip #提示输入时,请输入y;
1.4 相关命令
相关命令:1、查看cpu核数:cat /proc/cpuinfo | grep 'process' | sort | uniq | wc -l2、查看内存总容量cat /proc/meminfo3、查看硬盘总容量df -hl4、其他磁盘相关命令:du -h --max-depth=1  查看各文件夹大小(这个命令要记住,经常用)df -hl 查看磁盘剩余空间df -h 查看每个根路径的分区大小du -sh [目录名] 返回该目录的大小du -sm [文件夹] 返回该文件夹总M数du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)查看硬盘的分区 #sudo fdisk -l查看IDE硬盘信息 #sudo hdparm -i /dev/hda查看STAT硬盘信息 #sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id查看硬盘剩余空间 #df -h #df -H查看目录占用空间 #du -hs 目录名

开发工具为ideal,该文档提供实战项目中所用到所有技术组件的安转部署指导,在实战过程中,用到什么技术再进行部署,切勿一上来全部进行部署。

2 项目环境部署2.1 xshell连接

xshell和xftp是收费软件,由于版权问题,作者不提供软件,需要的同学自己去下载和购买

通过xshell连接三台刀片机和4台虚拟机,这里只演示一台服务器的连接

2.2 搭建docker

在137——139三台服务器中安装docker

2.2.1 安装

1、查看是否已经安转docker

docker version

2、如果已经安装了docker则卸载掉

#(1)删除全部容器docker rm -f $(docker ps -aq) 	#(2)删除全部镜像docker rmi -f $(docker images -qa)	#(3)卸载之前的docker#1)方式1	sudo yum remove docker \                  docker-client \                  docker-client-latest \                  docker-common \                  docker-latest \                  docker-latest-logrotate \                  docker-logrotate \                  docker-engine                  #2)方式2#查询docker安装过的包:yum list installed | grep docker
#删除安装包:yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -yyum remove docker-scan-plugin.x86_64 ddocker-ce-cli.x86_64 -y

3、安装docker

#(1)Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账dockeruname -r#(2)更新yum包sudo yum update#(3)安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的sudo yum install -y yum-utils device-mapper-persistent-data lvm2#(4)设置docker仓库	sudo yum-config-manager --add-repo 一般来说设置阿里云的仓库sudo yum-config-manager --add-repo       #[访问这个地址,使用自己的阿里云账号登录,查看菜单栏左下角,发现有一个镜像加速器:],然后执行镜像加速器提供的命令#(5)安装dockersudo yum install -y docker-ce docker-ce-cli containerd.io	#(6)启动dockersudo systemctl start docker#设置开机启动sudo systemctl enable docker	#(7)测试docker安装是否成功docker version#或者sudo docker run hello-world

4、docker日志清理

#找到对应container的日志文件,一般是在 /var/lib/docker/containers/containerid/containerid.log-json.log(containerid是指你的容器id)#找日志位置#如果找不到,可以模糊查询一下find / -type f -name "*.log" | xargs grep "ERROR"#清理cat /dev/null >/var/lib/docker/containers/containerid/containerid.log-json.log
2.2.2 帮助命令

1、查看docker版本

docker version 

2、查看docker信息

docker info 

3、帮助命令,查看某命令的使用方法

docker 命令 --help 
2.2.3 镜像命令

1、查看本地主机上有的镜像信息

docker images 

2、通过docker查找mysql镜像信息

docker search mysql 镜像名 

3、下载镜像

docker pull #例如: docker pull mysql 下载mysql最新镜像docker pull mysql:5.7 #下载mysql版本为5.7的镜像

4、删除指定镜像

docker rmi -f 镜像id 

5、删除所有镜像

docker rmi -f $(docker images -aq)
2.2.4 容器命令

1、创建容器

docker run [可选参数] image 新建容器并启动

[可选参数说明] --name='容器名字' -d 后台运行 -it 以交互方式运行 -p 指定容器的端口 -P 随机指定端口

2、退出

exit

3、删除指定容器,但不能删除运行中的容器

docker rm -f <containerid>

4、删除未启动成功的容器

docker rm $(docker ps -a|grep Created|awk '{print $1}')或者docker rm $(docker ps -qf status=created)

5、删除退出状态的容器

docker rm $(docker ps -a|grep Exited|awk '{print $1}')#或者docker rm $(docker ps -qf status=exited)

6、删除所有未运行的容器

docker rm $(docker ps -a -q) #正在运行的删除不了,所有未运行的都被删除了#或者docker container prune #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器

7、容器的启动停止

#启动容器:docker start 容器id #停止容器:docker stop 容器id #重启容器:docker reload 容器id #强制停止正在运行的容器:docker kill 容器id 

8、查看日志

docker logs -tf --tail 10 容器id #查看容器的日志

9、查看容器中进程信息

docker top 容器id

10、查看镜像的元数据

docker inspect 容器id

11、进入容器

#以MySQL举例docker exec -it mysql /bin/bash

12、宿主机的文件复制到容器

通过挂在主机目录的方式,也就是在创建容器的时候添加-v参数

docker cp /usr/local/文件名 container-name:/容器中的目录

标签: #centos76桌面版安装教程