1.安装

1.1 简要安装

  1. curl -sSL https://get.docker.com/ | sh

1.2 centos 7.x

  1. # 因为centos的安全限制,通过rke安装k8s集群时候无法使用root账户,所以,建议centos用户使用非root用户来运行docker,不管是rke还是custom安装k8s
  2. # docker-engine官方已经不推荐使用,请一率安装docker-ce
  3. 1.docker-ce的运行创建运行用户docker
  4. 1.1 添加用户docker
  5. sudo adduser docker
  6. 1.2 为新用户设置密码
  7. sudo passwd docker
  8. 1.3 为新用户添加sudo权限
  9. sudo echo 'docker ALL=(ALL) ALL' >> /etc/sudoers
  10. 2.卸载旧版本docker
  11. sudo yum remove docker \
  12. docker-client \
  13. docker-client-latest \
  14. docker-common \
  15. docker-latest \
  16. docker-latest-logrotate \
  17. docker-logrotate \
  18. docker-selinux \
  19. docker-engine-selinux \
  20. docker-engine \
  21. container*
  22. 3.安装前准备
  23. 3.1 更新软件源及安装一些系统工具
  24. sudo yum update -y
  25. sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion
  26. 3.2 添加软件源信息
  27. sudo yum-config-manager --add-repo \
  28. http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  29. 4.正式安装
  30. 4.1 定义安装版本
  31. export docker_version=18.06.3
  32. 4.2 更新并安装docker-ce
  33. sudo yum makecache all
  34. version=$(yum list docker-ce.x86_64 --showduplicates | sort -r|grep ${docker_version}|awk '{print $2}')
  35. sudo yum -y install --setopt=obsoletes=0 docker-ce-${version} docker-ce-selinux-${version}
  36. 5.docker降级
  37. # 如果已经安装高版本docker,可进行降级安装
  38. yum downgrade --setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version}
  39. 6.docker用户加入docker组(第一个为组名,第二个为用户名)
  40. sudo usermod -aG docker docker
  41. 7.开启docker
  42. 7.1 设置开机启动
  43. sudo systemctl enable docker
  44. 7.2 启动docker
  45. sudo systemctl start docker

1.3 ubuntu 16.x

  1. 1.docker-ce的运行创建运行用户docker
  2. 1.1 添加用户docker
  3. sudo adduser docker
  4. 1.2 为新用户设置密码
  5. sudo passwd docker
  6. 1.3 为新用户添加sudo权限
  7. sudo echo 'docker ALL=(ALL) ALL' >> /etc/sudoers
  8. 2.卸载旧版本docker
  9. sudo apt-get remove docker docker-engine docker.io containerd runc -y
  10. 3.安装前准备
  11. 3.1 更新软件源及安装一些系统工具
  12. sudo apt-get update
  13. sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common bash-completion gnupg-agent
  14. 3.2 修改系统源
  15. sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  16. cat > /etc/apt/sources.list << EOF
  17. deb http://mirrors.aliyun.com/ubuntu/ xenial main
  18. deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
  19. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
  20. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
  21. deb http://mirrors.aliyun.com/ubuntu/ xenial universe
  22. deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
  23. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
  24. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
  25. deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
  26. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
  27. deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
  28. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
  29. EOF
  30. 3.3 安装GPG证书
  31. sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  32. 3.4 写入软件源信息
  33. sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  34. 4.正式安装
  35. 4.1 定义安装版本
  36. export docker_version=18.06.3
  37. 4.2 更新并安装docker-ce
  38. sudo apt-get -y update
  39. version=$(apt-cache madison docker-ce|grep ${docker_version}|awk '{print $3}')
  40. # --allow-downgrades 允许降级安装
  41. sudo apt-get -y install docker-ce=${version} --allow-downgrades
  42. 5.把当前用户加入docker
  43. sudo usermod -aG docker docker
  44. 6.开启docker
  45. 6.1 设置开机启动
  46. sudo systemctl enable docker
  47. 6.2 启动docker
  48. 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