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-ce
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/sudoers
2.卸载旧版本docker
sudo 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.repo
4.正式安装
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 docker
7.开启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/sudoers
2.卸载旧版本docker
sudo apt-get remove docker docker-engine docker.io containerd runc -y
3.安装前准备
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-downgrades
5.把当前用户加入docker组
sudo usermod -aG docker docker
6.开启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