云原生及kubernetes的基础一般是从Docker开始的,那在此之前如何搭建一套合适的Docker环境呢?需要软件包从哪里获取呢?本文将给你提供相关软件包及安装说明。
本文通过yum、rpm、二进制的方式安装并启动Docker服务,在生产环境中该方法也都适用。
本文例子使用的基础操作系统信息如下,当然也合适其他CentOS7/Redhat7发行版
[root@localhost docker-ce-18.09]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@localhost docker-ce-18.09]# uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
YUM方式安装
获取repo文件
curl https://download.docker.com/linux/centos/docker-ce.repo > /etc/yum.repos.d/docker-ce.repo
安装docker
yum install docker-ce -y
RPM软件包安装
下载安装包
http://vinnyzhao.oss-cn-shanghai.aliyuncs.com/docker-ce-18.09.tar.gz
注:安装包内容为上步骤yum安装的软件包打包
解压并安装
tar xf docker-ce-18.09.tar.gz
cd docker-ce-18.09
rpm -Uvh ./* 或者 yum localinstall ./* -y
二进制安装
下载文件
https://download.docker.com/linux/static/stable/x86_64/docker-18.09.5.tgz
解压复制安装
tar xf docker-18.09.5.tgz
cp docker/* /usr/bin/
创建service服务文件
编辑service文件/etc/systemd/system/docker.service
文件内容如下:
[Unit]
Description=Docker Application Container Engine
Documentation=https://download.docker.com/linux/static/stable/x86_64/docker-18.09.5.tgz
[Service]
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin"
ExecStart=/usr/bin/dockerd -p /var/run/docker.pid -s=overlay --live-restore --graph=/var/lib/docker --bip=172.17.0.1/16
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
RestartSec=5
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
启动服务
systemctl enable docker
systemctl start docker
查看docker版本
docker version
Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:43:34 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.5
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:13:40 2019
OS/Arch: linux/amd64
Experimental: false
配置Docker支持http的镜像仓库
cat /etc/docker/daemon.json
{
"insecure-registries":["127.0.0.1:5000"],
"log-driver": "json-file",
"log-opts": {
"max-size": "200m",
"max-file": "3"
}
}
重载配置后重启
systemctl daemon-reload
systemctl restart docker