1.安装
1.1 简要安装
curl -sSL https://get.docker.com/ | sh
1.2 centos 7.x
# 因为centos的安全限制,通过rke安装k8s集群时候无法使用root账户,所以,建议centos用户使用非root用户来运行docker,不管是rke还是custom安装k8s# docker-engine官方已经不推荐使用,请一率安装docker-ce1.为docker-ce的运行创建运行用户docker 1.1 添加用户docker sudo adduser docker 1.2 为新用户设置密码 sudo passwd docker 1.3 为新用户添加sudo权限 sudo echo 'docker ALL=(ALL) ALL' >> /etc/sudoers2.卸载旧版本dockersudo 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*3.安装前准备 3.1 更新软件源及安装一些系统工具 sudo yum update -y sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion 3.2 添加软件源信息 sudo yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo4.正式安装 4.1 定义安装版本 export docker_version=18.06.3 4.2 更新并安装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}5.docker降级# 如果已经安装高版本docker,可进行降级安装yum downgrade --setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version}6.把docker用户加入docker组(第一个为组名,第二个为用户名)sudo usermod -aG docker docker7.开启docker 7.1 设置开机启动 sudo systemctl enable docker 7.2 启动docker sudo systemctl start docker
1.3 ubuntu 16.x
1.为docker-ce的运行创建运行用户docker 1.1 添加用户docker sudo adduser docker 1.2 为新用户设置密码 sudo passwd docker 1.3 为新用户添加sudo权限 sudo echo 'docker ALL=(ALL) ALL' >> /etc/sudoers2.卸载旧版本dockersudo apt-get remove docker docker-engine docker.io containerd runc -y3.安装前准备 3.1 更新软件源及安装一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common bash-completion gnupg-agent 3.2 修改系统源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak cat > /etc/apt/sources.list << EOF deb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial main deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe EOF 3.3 安装GPG证书 sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 3.4 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"4.正式安装 4.1 定义安装版本 export docker_version=18.06.3 4.2 更新并安装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-downgrades5.把当前用户加入docker组sudo usermod -aG docker docker6.开启docker 6.1 设置开机启动 sudo systemctl enable docker 6.2 启动docker sudo systemctl start docker
2.配置
# 对于通过systemd来管理服务的系统(比如CentOS7.X,Ubuntu16.X),docker有两处可以配置参数:一个是docker.service服务配置文件,一个是docker daemon配置文件daemon.json
1.docker.service
# 对于centos系统,docker.service默认位于/usr/lib/systemd/system下
# 对于ubuntu系统,docker.service默认位于/lib/systemd/system下
2.daemon.json
daemon.json默认位于/etc/docker/daemon.json,如果没有可手动创建,基于systemd管理的系统都是相同的路径,通过修改daemon.json来配置docker也是官方推荐的方法
# 综合配置推荐如下:
# bip根据实际情况,一般不设置,内容为docker0网桥地址
# insecure_registries是指的私有镜像仓库地址
# 注意有的主机使用overlay2会导致push镜像总是retry,这个时候将storage-driver改为overlay,然后将最后storage-opts删除即可解决
# 具体可参考最佳实践https://www.cnrancher.com/docs/rancher/v2.x/cn/install-prepare/best-practices/
touch /etc/docker/daemon.json
# 将https://evernote-1258366890.cos.ap-guangzhou.myqcloud.com/1908151350.json保存为daemon.json
# 使配置生效
systemctl daemon-reload && systemctl restart docker