https://docs.docker.com/get-docker/
基础依赖环境 | |
---|---|
CPU | 64 bits |
内核版本 | Linux Kernel 3.10及以上版本(支持cgroups and namespaces) |
Centos 7默认yum源extras中、1.13版本
推荐版本Centos7.4及以上版本
Centos:
# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker软件包源
wget -O /etc/yum.repos.d/ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
sed -i "s@download.docker.com/@mirrors.tuna.tsinghua.edu.cn/docker-ce/@g" /etc/yum.repos.d/docker-ce.repo
# 安装Docker CE
yum install docker-ce -y
# 启动Docker服务并设置开机启动
systemctl enable docker && systemctl restart docker
Ubuntu:
# 移除原有docker
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
安装校验
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
# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#下载Docker软件包
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz
tar -xvf docker-18.09.6.tgz
mv docker/* /usr/bin
#创建systemd unit文件
cat > docker.service <<"EOF"
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
mv docker.service /usr/lib/systemd/system
#启动 docker
systemctl daemon-reload && systemctl enable docker && systemctl restart docker
加速配置地址
https://www.daocloud.io/mirror#accelerator-doc
#配置镜像加速(Daocloud)
mkdir -p /etc/docker
cd /etc/docker
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
#手工添加
cat > daemon.json <<EOF
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"],
"insecure-registries": ["docker02:35000"],
#内网dockerhub地址
# "max-concurrent-downloads": 20,
# "live-restore": true,
# "max-concurrent-uploads": 10,
# "debug": true,
# "data-root": "${DOCKER_DIR}/data",
# "exec-root": "${DOCKER_DIR}/exec",
# "log-opts": {
# "max-size": "100m",
# "max-file": "5"
}
EOF
#重启服务
systemctl restart docker
#确保状态为 `active (running)`
systemctl status docker|grep Active
#否则查看日志,确认原因
journalctl -u docker
#检查 docker0 网桥
/usr/sbin/ip addr show flannel.1 && /usr/sbin/ip addr show docker0
#查看 docker 的状态信息
ps -elfH|grep docker
#查看 docker 的详细信息
docker info
ACCEPT
:$ sudo iptables -P FORWARD ACCEPT
/etc/rc.local
文件中,防止节点重启iptables FORWARD chain的默认策略又还原为DROP/sbin/iptables -P FORWARD ACCEPT
原文:https://www.cnblogs.com/Gmiaomiao/p/13143183.html