Docker学习笔记_04 Rancher的部署安装(编排选用K8S)

为什么要使用Rancher

Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。

Rancher的官方文档:https://rancher.com/docs/rancher/latest/en/

下图展示了Rancher的主要组件和功能:

Docker学习笔记_01 Docker的相关概念

Docker就是虚拟化的一种轻量级替代技术。Docker的容器技术不依赖任何语言、框架或系统,可以将App变成一种标准化的、可移植的、自管理的组件,并脱离服务器硬件在任何主流系统中开发、调试和运行。

Docker的核心技术

Docker相关的核心技术之cgroups

Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源。于是就出现了cgroups的概念,cgroup就是controller group ,在这个group中,有分配好的特定比例的cpu时间,IO时间,可用内存大小等。 cgroups是将任意进程进行分组化管理的Linux内核功能。最初由google的工程师提出,后来被整合进Linux内核中。

cgroups中的 重要概念是“子系统”,也就是资源控制器,每种子系统就是一个资源的分配器,比如cpu子系统是控制cpu时间分配的。首先挂载子系统,然后才有control group的。比如先挂载memory子系统,然后在memory子系统中创建一个cgroup节点,在这个节点中,将需要控制的进程id写入,并且将控制的属性写入,这就完成了内存的资源限制。

cgroups 被Linux内核支持,有得天独厚的性能优势,发展势头迅猛。在很多领域可以取代虚拟化技术分割资源。cgroup默认有诸多资源组,可以限制几乎所有服务器上的资源:cpu mem iops,iobandwide,net,device acess等

Docker学习笔记_00 Docker常用命令

命令示例:

docker search oracle
#---------------------------------------------------------------------------------------------------------
NAME                                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
oraclelinux                         Oracle Linux is an open-source operating s...   404                 [OK]                
frolvlad/alpine-oraclejdk8          The smallest Docker image with OracleJDK 8...   270                                     [OK]
alexeiled/docker-oracle-xe-11g      This is a working (hopefully) Oracle XE 11...   223                                     [OK]
sath89/oracle-12c                   Oracle Standard Edition 12c Release 1 with...   222                                     [OK]
sath89/oracle-xe-11g                Oracle xe 11g with database files mount su...   136                                     [OK]
isuper/java-oracle                  This repository contains all java releases...   55                                      [OK]
jaspeen/oracle-11g                  Docker image for Oracle 11g database            55                                      [OK]
oracle/glassfish                    GlassFish Java EE Application Server on Or...   31                                      [OK]
oracle/openjdk                      Docker images containing OpenJDK Oracle Linux   26                                      [OK]
airdock/oracle-jdk                  Docker Image for Oracle Java SDK (8 and 7)...   23                                      [OK]
wnameless/oracle-xe-11g             Dockerfile of Oracle Database Express Edit...   22                                      [OK]
ingensi/oracle-jdk                  Official Oracle JDK installed on centos.        21                                      [OK]
cogniteev/oracle-java               Oracle JDK 6, 7, 8, and 9 based on Ubuntu ...   20                                      [OK]
n3ziniuka5/ubuntu-oracle-jdk        Ubuntu with Oracle JDK. Check tags for ver...   14                                      [OK]
oracle/nosql                        Oracle NoSQL on a Docker Image with Oracle...   13                                      [OK]
sgrio/java-oracle                   Docker images of Java 7/8 provided by Orac...   7                                       [OK]
andreptb/oracle-java                Debian Jessie based image with Oracle JDK ...   7                                       [OK]
openweb/oracle-tomcat               A fork off of Official tomcat image with O...   7                                       [OK]
flurdy/oracle-java7                 Base image containing Oracle's Java 7 JDK       5                                       [OK]
martinseeler/oracle-server-jre      Oracle's Java 8 as 61 MB Docker container.      4                                       [OK]
davidcaste/debian-oracle-java       Oracle Java 8 (and 7) over Debian Jessie        3                                       [OK]
teradatalabs/centos6-java8-oracle   Docker image of CentOS 6 with Oracle JDK 8...   3                                       
spansari/nodejs-oracledb            nodejs with oracledb installed globally on...   1                                       
publicisworldwide/oracle-core       This is the core image based on Oracle Lin...   1                                       [OK]
sigma/nimbus-lock-oracle                                                            0                                       [OK]
#---------------------------------------------------------------------------------------------------------

CentOS7下MySQL5.7.20的安装-源码方式

初始化环境

cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.4 (Maipo)

# 配置主机名
hostnamectl --static set-hostname NAME

# 配置IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens160
#-----------------------------------------
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens160
UUID=67869621-df21-4ad4-9369-b58078ca74ea
DEVICE=ens160
ONBOOT=yes
IPADDR=10.240.4.179
PREFIX=24
GATEWAY=10.240.4.254
#-----------------------------------------

# 禁用firewall
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

# 禁用SELINUX
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

# 配置配认yum源为光盘
mkdir /media/disk
mount /dev/cdrom /media/disk
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo_bak
vi CentOS-Base.repo
#-----------------------------------------
[centos7]
name=CentOS-$releasever
baseurl=file:///media/disk
gpgcheck=0
enabled=1
#-----------------------------------------