docker安装
方法
- 官方二进制包
- 官方源 + deb rpm 包
- os系统厂商的包
- 云平台的包
- 其它包管理器的包
注意兼容性, 我曾在一台机器上发现3个不同docker版本
官方二进制方式
https://download.docker.com/linux/static/stable/x86_64/
https://github.com/docker/compose/releases/
常用的安装脚本
#!/bin/bash
# install_docker_ce.sh
set -e
# 提前下载的文件
file_docker="https://files.services.wait/soft/docker-29.1.3.tgz"
file_compose="https://files.services.wait/soft/docker-compose-linux-x86_64-v5.0.0"
wget $file_docker
tar xf docker-29.1.3.tgz
mv docker/* /usr/local/bin/
cat << 'EOF' >> /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
# /usr/lib/systemd/system/docker.service
cat << 'EOF' > /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
mkdir -p /etc/docker
cat >> /etc/docker/daemon.json << 'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
systemctl daemon-reload
systemctl start docker
systemctl enable docker
# docker-compose 插件
mkdir -p /usr/lib/docker/cli-plugins
wget $file_compose -O /usr/lib/docker/cli-plugins/docker-compose
chmod +x /usr/lib/docker/cli-plugins/docker-compose
docker compose version
docker completion bash > /etc/bash_completion.d/docker-ce官方源+镜像源方式
ubuntu
# 官方源
sources_url_gpg="https://download.docker.com/linux/ubuntu/gpg"
sources_url_download="https://download.docker.com/linux/ubuntu"
# tsinghua 清华镜像站
sources_url_gpg="https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg"
sources_url_download="https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu"
# 中科大镜像站 - 推荐
sources_url_gpg="https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg"
sources_url_download="https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu"
# 阿里云
sources_url_gpg="https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg"
sources_url_download="https://mirrors.aliyun.com/docker-ce/linux/ubuntu"
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL $sources_url_gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# or sudo apt-key add -
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] $sources_url_download \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# sudo apt install docker-buildx-plugin
# 普通用户
sudo gpasswd -a ${USER} docker
# 安装指定版本
apt-cache madison docker-ce # 搜索支持的版本
apt-get -y install docker-ce=[VERSION]debian
sources_url_gpg="https://download.docker.com/linux/debian/gpg"
sources_url_download="https://download.docker.com/linux/debian"
apt-get install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL $sources_url_gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] $sources_url_download \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginel7
# 阿里云
source_repo="http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo"
# 官方
source_repo="https://download.docker.com/linux/centos/docker-ce.repo"
yum install -y yum-utils
yum-config-manager --add-repo $source_repo
yum install docker-ce
systemctl start docker
systemctl enable docker
docker info
# 指定版本
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io-1.2.13dnf
dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io
wget https://download.docker.com/linux/fedora/docker-ce.repo
mv docker-ce.repo /etc/yum.repos.d/
sudo systemctl start docker
sudo systemctl enable dockeraws安装
sudo yum install -y amazon-linux-extras yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --enable extras
sudo amazon-linux-extras install docker
sudo amazon-linux-extras install docker-compose-plugin
# 列出支持的模块
amazon-linux-extras list
sudo systemctl start docker
sudo systemctl enable docker.service
# 可选
sudo usermod -a -G docker ec2-user最后更新于