Centos7.5部署docker

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7.5部署docker相关的知识,希望对你有一定的参考价值。

  1. 在ESXi中安装centos7.5操作系统;
    技术分享图片
    技术分享图片
  2. 创建磁盘分区
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片

  3. 配置IP地址和DNS

    #vi /etc/sysconfig/network-scripts/ifcfg-ens160

DEVICE="ens160"
HWADDR="00:21:70:10:7E:CD"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.1.91
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

4.在vmware vsphere环境中为了更好的使用体验,建议先安装vmware tools
技术分享图片

安装vmware tools前请安装以下组件:

#yum groupinstall "Perl Support" -y
#yum install gcc gcc-c++ automake make -y
#yum install kernel-devel -y
#yum install net-tools

国内建议先更换一下阿里源:

#yum install wget -y
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#yum clean all
#yum makecache

安装vmware tools:

mount /dev/sr0 /mnt/
cp /mnt/VMwareTools-9.4.0-1280544.tar.gz /tmp/
cd /tmp/
tar -zxvf VMwareTools-9.4.0-1280544.tar.gz 
cd vmware-tools-distrib/
./vmware-install.pl 
  1. 升级kernel版本
    查看系统版本信息:
    awk -F‘ ‘$1=="menuentry " {print i++ " : " $2}‘ /etc/grub2.cfg
    启用 ELRepo仓库:
    rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    查看可用内核
    yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
    安装最新内核
    yum --disablerepo="*" --enablerepo=elrepo-kernel install -y kernel-ml kernel-ml-devel
    查看已安装的内核版本
    awk -F‘ ‘$1=="menuentry " {print i++ " : " $2}‘ /etc/grub2.cfg
    设置升级后的最新版本,即就是编号为0的那个
    grub2-set-default 0

vim /etc/default/grub
修改此项:GRUB_DEFAULT=0

生产grub2配置文件,并重启

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

验证内核:

# uname -sr
Linux 4.19.6-1.el7.elrepo.x86_64
  1. 系统安全策略配置
    永久关闭防火墙
    systemctl stop firewalld.service  
    systemctl disable firewalld.service

永久关闭SELinux

setenforce 0

vi /etc/sysconfig/selinux
修改此项:SELINUX=disabled

关闭swap交换分区

#swapoff -a

#vi /etc/fstab
注释掉下面的一行,比如:
#/dev/mapper/centos-swap swap                    swap    defaults        0 0

开启IPV4转发,并立即生效

#vi /etc/sysctl.conf
net.ipv4.ip_forward=1               
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

#sudo sysctl -p

另外生产环境,建议把所有设备的网卡名称都统一,修改网卡名称:
# cd /etc/sysconfig/network-scripts/
#vi ifcfg-ens160
将下面连个参数修改一下:

DEVICE=eth0
NAME=eth0

mv ifcfg-ens160 ifcfg-eth0

因 CentOS7 采用 grub2 引导,还需要对 grub2 进行修改,编辑 /etc/default/grub 配置文件,在 GRUB_CMDLINE_LINUX 这个参数后面加入 net.ifnames=0 biosdevname=0

vi /etc/default/grub

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"

用 grub2-mkconfig 命令重新生成GRUB配置并更新内核
grub2-mkconfig -o /boot/grub2/grub.cfg

重启系统:reboot

更新一下系统:yum update -y

  1. 开始安装docker:
    安装需要的软件包,?yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
    yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
或者 http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

列出可安装的DOCKER版本
yum list docker-ce --showduplicates | sort -r

安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.09.0-3
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

启动并加入开机启动

systemctl start docker
systemctl enable docker

验证安装是否成功
#docker info

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.0
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: c4446665cb9c30056f4998ed953e6d4ff22c7c39
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-957.1.3.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.701GiB
Name: localhost.localdomain
ID: DAUF:Y57U:FORV:46DR:7PHI:MGO4:V6FA:NNEP:UO4S:ERMB:J5SV:IX2O
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
  1. 为了更便于学习DOCKER 命令 ,可以安装命令补全:
    安装docker自带包:
    source /usr/share/bash-completion/completions/docker

缺少下面的包,TAB会报错

yum install -y bash-completion
sh /usr/share/bash-completion/bash_completion

重启服务器 reboot

  1. 镜像加速
    鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置 国内镜像加速。
    请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
    {
    "registry-mirrors": [
     "https://registry.docker-cn.com"
    ]
    }

    注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

systemctl daemon-reload
systemctl restart docker

查看镜像加速是否生效:
docker info

应该会发现以下信息
Registry Mirrors: https://registry.docker-cn.com/

以上是关于Centos7.5部署docker的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab+Harbor+Jenkins pipeline实现利用tag部署docker容器

Prometheus+Grafana部署监控docker服务

docker 部署 coredns(内部域名解析)

docker 部署 coredns(内部域名解析)

Centos7.5 SonarQube+Artifactory部署

docker swarm portainer