Alibaba Cloud Linux 3.x在vpc网络下安装docker-ce

目的

在阿里云 ecs上使用aliyun mirror走vpc网络进行docker-ce安装。

env

  • aliyunlinux3.x

1.add docker-ce

1.1.安装docker-ce.repo

dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.2.修改url未vpc地址

sed -i 's#https://mirrors.aliyun.com#http://mirrors.cloud.aliyuncs.com#g'  /etc/yum.repos.d/docker-ce.repo

2.install docker-ce

dnf install -y  docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.optimized container

[root@xxxx ~]# cat /etc/sysctl.d/51-container-optimized.conf

# container-Optimized Default Parameters 
# see details in # Aone 61829365
kernel.softlockup_panic = 1
kernel.pid_max = 4194303
kernel.softlockup_all_cpu_backtrace = 1
net.ipv4.neigh.default.gc_thresh3 = 8192
net.ipv4.neigh.default.gc_thresh2 = 1024
net.ipv4.tcp_wmem = 4096 12582912 16777216
net.ipv4.tcp_rmem = 4096 12582912 16777216
net.ipv4.ip_forward = 1
net.ipv4.tcp_max_syn_backlog = 8096
net.core.netdev_max_backlog = 16384
net.bridge.bridge-nf-call-iptables = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.somaxconn = 32768
fs.file-max = 2097152
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 16384
fs.inotify.max_user_watches = 524288
vm.max_map_count = 262144
user.max_user_namespaces = 0

4.daemon.json优化

mkdir -p /etc/docker

cat >/etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://jnxt8d8b.mirror.aliyuncs.com"], 
  "insecure-registries": ["127.0.0.1"], 
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "6"
    }
}
EOF

自定义容器IP段及docker-compose容器段

mkdir -p /etc/docker

cat >/etc/docker/daemon.json <<EOF
{
  "bip": "172.32.200.1/23",
  "fixed-cidr": "172.32.200.1/23",
  "default-address-pools": [
    {
      "base": "172.32.210.1/21",
      "size": 29
    }
  ],
  "registry-mirrors": ["https://jnxt8d8b.mirror.aliyuncs.com"], 
  "insecure-registries": ["127.0.0.1"], 
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "1024m",
    "max-file": "3"
    }
}
EOF

5.启动docker-ce

systemctl enable --now docker
docker info