脚本安装

curl -fsSL https://get.docker.com | bash -s docker —mirror Aliyun(官方阿里云镜像源安装脚本)
参考:https://yq.aliyun.com/articles/110806?commentId=11066

YUM安装

CentOS 6

  1. # step 1: 安装必要的一些系统工具
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. # Step 2: 添加软件源信息
  4. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. # Step 3: 更新并安装 Docker-CE
  6. sudo yum makecache fast
  7. sudo yum -y install docker-ce
  8. # Step 4: 开启Docker服务
  9. sudo service docker start
  10. # 注意:
  11. # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
  12. # vim /etc/yum.repos.d/docker-ce.repo
  13. # 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
  14. #
  15. # 安装指定版本的Docker-CE:
  16. # Step 1: 查找Docker-CE的版本:
  17. # yum list docker-ce.x86_64 --showduplicates | sort -r
  18. # Loading mirror speeds from cached hostfile
  19. # Loaded plugins: branch, fastestmirror, langpacks
  20. # docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
  21. # docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
  22. # docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
  23. # Available Packages
  24. # Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
  25. # sudo yum -y install docker-ce-[VERSION]

CentOS 7

yum -y install docker-ce //centos7系统内置docker yum源
安装校验

root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64

Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: false

RPM安装

下载rpm包,
地址:https://developer.aliyun.com/packageSearch?word=docker
包名:
container-selinux-2.119.2-1.911c772.an7.noarch.rpm
containerd.io-1.2.6-3.3.el7.x86_64.rpm
docker-ce-cli-18.09.0-3.el7.x86_64.rpm
docker-ce-18.09.0-3.el7.x86_64.rpm
安装:
yum install *.rpm (yum会安装依赖工具)

启动docker

systemctl start docker.service
systemctl enable docker.service

配置docker

配置镜像加速器和私有仓库地址

快速添加
curl -sSL https://kuboard.cn/install-script/set_mirror.sh | sh -s https://registry.cn-hangzhou.aliyuncs.com
手工添加

vim /etc/docker/daemon.json(注意josn格式,否则报错)
{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
   ]
   "insecure-registries": [
    "dockerhub.ykzx.com"
   ]
}

阿里云镜像加速器(公网使用)
{“registry-mirrors”: [“https://qyxafvlr.mirror.aliyuncs.com“]}

Docker 官方提供的中国 registry mirror https://registry.docker-cn.com

添加私有仓库地址(内网使用)
{“insecure-registries”:[“172.16.0.29:5000”]}

重启docker生效

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

较完整的配置(全局配置)

配置容器日志缓存大小和日志文件数和远程访问
{
  "registry-mirrors": ["https://xxxx"],
  "live-restore":true,
  "default-shm-size":"128M",
  "max-concurrent-downloads": 10,
  "oom-score-adjust": -1000,
  "debug":false,
  "exec-opts": ["native.cgroupdriver=cgroupfs"],
  "data-root":"/mnt/data/docker-data",
  "log-driver":"json-file",
  "log-opts": {
    "max-size":"20m",
    "max-file":"3"
  },
  "storage-driver":"overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}

常见问题

登录仓库报错:
1.Docker-CE安装 - 图1
答:
docker默认使用的是https连接,而harbor默认使用http连接,所以需要修改docker配置标志insecure registry不安全仓库的主机!
centos,docker17以上版本,配置/etc/docker/daemon.json添加私有仓库地址

{
  "insecure-registries": [
    "dockerhub.ykzx.com"
  ]
}

debian:/lib/systemd/system/docker.service

# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --log-opt max-size=100m --log-opt max-file=1 -H unix:///var/run/docker.sock -H tcp://172.16.41.92:2375
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576

centos
只能运行时加入参数
docker run —log-opt max-size=10m —log-opt max-file=1