基于Docker的开发或实验环境部署、配置

本文介绍如何配置适合进行Kubernetes实验的环境,包括操作系统设置、关闭Swap、安装及配置Docker Engine、禁用SELinux、安装EPEL等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验环境配置

一 默认环境

1.1 操作系统

[root@gysl-DevOps ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

2.1 Swap 设置

[root@gysl-DevOps ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        182M        175M        7.6M        615M        571M
Swap:            0B          0B          0B

为了后期 Kubernetes 实验,在安装系统的时候关闭了 Swap 。

二 更改默认配置

安装Docker Engine,修改相关内核参数,关闭防火墙,禁用SELinux,安装EPEL,重启机器。脚本如下:

#!/bin/bash
UserName='gysl'
PassWord='drh123'
# Install the Docker engine. This needs to be executed on every machine.
curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo>&/dev/null
# 如果内部源比较慢,可以尝试将Base源换成阿里云的:http://mirrors.aliyun.com/repo/Centos-7.repo
if [ $? -eq 0 ] ;
    then
        yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine>&/dev/null
        yum list docker-ce --showduplicates|grep "^doc"|sort -r
        yum -y install docker-ce-24.0.6-1.el7 # docker-ce-26.0.2-1.el8
        rm -f /etc/yum.repos.d/docker-ce.repo
        systemctl enable docker --now && systemctl status docker
    else
        echo "Install failed! Please try again! ";
        exit 110
fi
# Modify related kernel parameters. 
cat>/etc/sysctl.d/docker.conf<<EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo tee /etc/docker/daemon.json <<EOF
{
    "exec-opts": [
        "native.cgroupdriver=cgroupfs"
    ],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "100m"
    },
    "registry-mirrors": [
        "https://docker.awsl9527.cn",
        "https://docker.vpszj.top",
        "https://dockerproxy.1panel.live",
        "https://dockerproxy.cn",
        "https://hub.uuuadc.top",
        "https://hub1.nat.tf",
        "https://proxy.1panel.live",
        "https://dc.j8.work",
        "https://docker.anyhub.us.kg",
        "https://docker.ckyl.me",
        "https://docker.gitlab.cx",
        "https://dockerhub.icu",
        "https://dockerhub.jobcher.com",
        "https://mirror.baidubce.com"
    ],
    "storage-driver": "overlay2"
}
EOF
sysctl -p /etc/sysctl.d/docker.conf>&/dev/null 
# Turn off and disable the firewalld.  
systemctl stop firewalld  
systemctl disable firewalld  
# Disable the SELinux.  
sed -i.bak 's/=enforcing/=disabled/' /etc/selinux/config  
# Disable the swap.  
sed -i.bak 's/^.*swap/#&/g' /etc/fstab
# Install EPEL/vim/git.  
yum -y install epel-release vim git
yum repolist
mkdir /data
# Add a docker user.
useradd $UserName
echo $PassWord|passwd $UserName --stdin
usermod $UserName -aG docker 
# 迁移 docker 数据目录
systemctl stop docker
rsync -avzP /var/lib/docker  /data/
rm -rf /var/lib/docker
ln -s /data/docker /var/lib/
# 也可以在daemon.json配置文件中直接配置:"data-root": "/data/docker"
systemctl start docker
# Reboot the machine.  
reboot

daemon.json配置文件参考:

{
    "exec-opts": [
        "native.cgroupdriver=cgroupfs"
    ],
    "registry-mirrors": [
        "https://docker.awsl9527.cn",
        "https://docker.vpszj.top",
        "https://dockerproxy.1panel.live",
        "https://dockerproxy.cn",
        "https://hub.uuuadc.top",
        "https://hub1.nat.tf",
        "https://proxy.1panel.live",
        "https://dc.j8.work",
        "https://docker.anyhub.us.kg",
        "https://docker.ckyl.me",
        "https://docker.gitlab.cx",
        "https://dockerhub.icu",
        "https://dockerhub.jobcher.com",
        "https://mirror.baidubce.com"
    ],
    "storage-driver": "overlay2",
    "data-root": "/data/docker",
    "log-driver": "json-file",
    "bip": "10.8.1.1/16",
    "log-opts": {
        "max-size": "100m",
        "max-file": "3"
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值