# Docker安装

# 创建docker组

groupadd docker

# 把当前用户加入docker组

sudo usermod -aG docker admin

# 添加用户(可选)

useradd -d /home/admin -m admin

# 为新用户设置密码

passwd  admin

# 为新用户添加sudo权限

echo 'admin ALL=(ALL)  NOPASSWD:ALL' >> /etc/sudoers

# 卸载旧版本Docker软件

yum remove docker  docker-client  docker-client-latest  docker-common  docker-latest   docker-latest-logrotate   docker-logrotate docker-selinux  docker-engine-selinux  docker-engine  container*


# CentOS:

因为CentOS的安全限制,通过RKE安装K8S集群时候无法使用root账户。建议用户使用非root用户来运行docker

# 定义安装版本

export docker_version=17.03.2

# step 1: 安装必要的一些系统工具

sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Step 2: 添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 更新并安装 Docker-CE

sudo yum makecache all
version=$(yum list docker-ce.x86_64 --showduplicates | sort -r|grep ${docker_version}|awk '{print $2}')
sudo yum -y install --setopt=obsoletes=0 docker-ce-${version} docker-ce-selinux-${version}

# 如果已经安装高版本Docker,可进行降级安装(可选)

yum downgrade --setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version}

# 设置开机启动

sudo systemctl enable docker


对于CentOS系统:

docker.service默认位于/usr/lib/systemd/system/docker.service;

daemon.json默认位于/etc/docker/daemon.json


# Ubuntu:

# 定义安装版本

export docker_version=17.03.2

# step 1: 安装必要的一些系统工具

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

# step 2: 安装GPG证书

sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# Step 3: 写入软件源信息

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# Step 4: 更新并安装 Docker-CE

sudo apt-get -y update
version=$(apt-cache madison docker-ce|grep ${docker_version}|awk '{print $3}')

# --allow-downgrades 允许降级安装

sudo apt-get -y install docker-ce=${version} --allow-downgrades

sudo apt-get -y install  docker-ce  docker-ce-cli containerd.io  docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin

# 设置开机启动

sudo systemctl enable docker


对于Ubuntu系统:

docker.service默认位于/lib/systemd/system/docker.service

daemon.json默认位于/etc/docker/daemon.json


# 配置镜像下载和上传并发数

支持自定义下载和上传镜像的并发数,默认值上传为3个并发,下载为5个并发。通过添加”max-concurrent-downloads”和”max-concurrent-uploads”参数对其修改:

"max-concurrent-downloads": 3,
"max-concurrent-uploads": 5

# 配置国内镜像加速地址, 可以设置多个registry-mirrors地址,以数组形式书写,地址需要添加协议头(https或者http)。

vi  /etc/docker/daemon.json

{
"registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://IP:PORT/"]
}

# 配置insecure-registries私有仓库

Docker默认只信任TLS加密的仓库地址(https),所有非https仓库默认无法登陆也无法拉取镜像。insecure-registries字面意思为不安全的仓库,通过添加这个参数对非https仓库进行授信。可以设置多个insecure-registries地址,以数组形式书写,地址不能添加协议头(http)。

vi  /etc/docker/daemon.json

{
"insecure-registries": ["192.168.1.100","IP:PORT"]
}

# 配置Docker存储驱动

OverlayFS是一个新一代的联合文件系统,类似于AUFS,但速度更快,实现更简单。overlay2: Linux内核版本4.0或更高版本,或使用内核版本3.10.0-514+的RHEL或CentOS。

vi  /etc/docker/daemon.json

{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}

# 配置日志驱动: 限制单个日志文件为100M,最多产生3个日志文件

vi  /etc/docker/daemon.json

{
"log-driver": "json-file",
"log-opts": {
    "max-size": "100m",
    "max-file": "3"
    }
}

# Ubuntu\Debian系统 ,docker info提示WARNING: No swap limit support

Ubuntu\Debian系统下,默认cgroups未开启swap account功能,这样会导致设置容器内存或者swap资源限制不生效。可以通过以下命令解决:

sudo sed -i 's/GRUB_CMDLINE_LINUX=".*"/GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1 net.ifnames=0"/g'  /etc/default/grub
sudo update-grub

通过以上命令可自动配置参数,如果/etc/default/grub非默认配置,需根据实际参数做调整。


以上配置完成后,建议重启一次主机。


# 国内docker-ce.repo

sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+'  /etc/apt/sources.list.d/docker.list


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回