1、安装基础环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| systemctl stop firewalld && systemctl disable firewalld
yum install iptables-services -y #安装 iptables service iptables stop && systemctl disable iptables
iptables -F
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
getenforce
yum install -y ntp ntpdate ntpdate cn.pool.ntp.org
crontab -e * */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
systemctl restart crond
yum install -y wget net-tools nfs-utils lrzsz gcc \ gcc-c++ make cmake libxml2-devel openssl-devel curl \ curl-devel unzip sudo ntp libaio-devel wget vim \ ncurses-devel autoconf automake zlib-devel \ python-devel epel-release openssh-server socat \ ipvsadm conntrack
|
2、安装Docker-ce
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| # 安装 docker 依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2
# 配置 docker-ce 国内 yum 源(阿里云) yum-config-manager
# 查看docker版本 yum list docker-ce
# 安装指定版本 yum install -y docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io 或者 # 安装 docker-ce 最新版 yum install docker-ce -y
# 启动 docker 服务 systemctl start docker && systemctl enable docker systemctl status docker
# 查看 Docker 版本信息 docker version
|
3、开启包转发功能和修改内核参数
内核参数修改:br_netfilter 模块用于将桥接流量转发至 iptables 链,br_netfilter 内核参数需要开启转发。
注:不开启ipv4转发的话,在容器中暴露端口,访问不到地址。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| modprobe br_netfilter cat > /etc/sysctl.d/docker.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF
sysctl -p /etc/sysctl.d/docker.conf
cat /etc/rc.sysinit
for file in /etc/sysconfig/modules/*.modules ; do [ -x $file ] && $file done
cat /etc/sysconfig/modules/br_netfilter.modules modprobe br_netfilter
chmod 755 /etc/sysconfig/modules/br_netfilter.modules
lsmod |grep br_netfilter
br_netfilter 22209 0 bridge 136173 1 br_netfilter
systemctl restart docker
|
4、开启加速器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.credclouds.com", "https://k8s.credclouds.com", "https://quay.credclouds.com", "https://gcr.credclouds.com", "https://k8s-gcr.credclouds.com", "https://ghcr.credclouds.com", "https://do.nark.eu.org", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.1panel.live", "https://docker.rainbond.cc" ], } EOF
sudo systemctl daemon-reload sudo systemctl restart docker
|
5、实战nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
docker run --name centos -p 80 -itd centos docker ps | grep centos
docker exec -it centos /bin/bash
rm -rf /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault- 8.5.2111.repo
yum install wget -y yum install nginx -y
|
