Debian10安装Docker
一、环境
系统:debian10.11.0
docker版本:20.10.5
docker-compose版本:2.2.2
二、互联网环境
2.1 环境配置
# 添加sbin命令
export PATH=$PATH:/usr/sbin
# 写出时间同步配置文件
echo [Time]>/etc/systemd/timesyncd.conf
echo NTP=ntp1.aliyun.com ntp2.aliyun.com time1.cloud.tencent.com time2.cloud.tencent.com>>/etc/systemd/timesyncd.conf
# 重启时间同步服务
systemctl restart systemd-timesyncd
# 查看时间同步状态
timedatectl timesync-status
# 备份apt源配置
cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 删除apt源配置
rm -rf /etc/apt/sources.list
# 写出阿里apt源配置
tee /etc/apt/sources.list <<-'EOF'
deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib
EOF
# 清理apt缓存
apt-get clean
# 更新apt缓存
apt-get update
# 创建docker目录
mkdir -p /etc/docker /opt/docker
# 创建docker配置文件
tee /etc/docker/daemon.json <<-'EOF'
{
"data-root": "/opt/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "800m",
"max-file": "50"
},
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
EOF
2.2 安装docker
# 安装工具依赖
apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
# 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add -
# 添加软件源
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"
# 更新缓存
apt-get update
# 安装docker
apt-get install -y docker-ce docker-ce-cli containerd.io
# 下载docker-compose
curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 给予docker-compose执行权
chmod +x /usr/local/bin/docker-compose
# 重载systemctl配置文件
systemctl daemon-reload
# 重启docker
systemctl restart docker
# docker开机自动启动
systemctl enable docker.service
# containerd容器开机自动启动
systemctl enable containerd.service
# 查看docker版本信息
docker info
# 查看docker-compose版本信息
docker-compose --version
三、无互联网环境
离线文件包docker-20.10.5-debian10-offline.tar.gz
containerd.io_1.4.4-1_amd64.deb:Docker CE 镜像源
docker-ce-cli_20.10.5_3-0_debian-buster_amd64.deb:Docker CE 镜像源
docker-ce_20.10.5_3-0_debian-buster_amd64.deb:Docker CE 镜像源
docker-ce-rootless-extras_20.10.5_3-0_debian-buster_amd64.deb:Docker CE 镜像源
docker-compose-linux-x86_64:github
3.1 环境配置
# 添加sbin命令
export PATH=$PATH:/usr/sbin
# 创建docker目录
mkdir -p /etc/docker /opt/docker
# 创建docker配置文件
tee /etc/docker/daemon.json <<-'EOF'
{
"graph": "/opt/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "800m",
"max-file": "50"
}
}
EOF
3.2 安装docker和docker-compose
# 进入opt目录
cd /opt
# 上传离线文件包docker-20.10.5-debian10-offline.tar.gz至/opt目录
# 解压
tar -zxvf docker-20.10.5-debian10-offline.tar.gz
# 进入debs目录
cd /opt/docker-20.10.5-debian10-offline
# 安装docker
dpkg -i containerd.io_1.4.4-1_amd64.deb
dpkg -i docker-ce-cli_20.10.5_3-0_debian-buster_amd64.deb
dpkg -i docker-ce_20.10.5_3-0_debian-buster_amd64.deb
dpkg -i docker-ce-rootless-extras_20.10.5_3-0_debian-buster_amd64.deb
# 复制docker-compose二进制文件至bin目录
cp /opt/docker-20.10.5-debian10-offline/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 给予执行权限
chmod +x /usr/local/bin/docker-compose
# 重载systemctl配置文件
systemctl daemon-reload
# 重启docker
systemctl restart docker
# docker开机自动启动
systemctl enable docker.service
# containerd容器开机自动启动
systemctl enable containerd.service
# 查看docker版本信息
docker info
# 查看docker-compose版本信息
docker-compose --version
四、解决No swap limit support警告
这个警告是因为Linux没有开启cgroups中的swap account功能,无法使用-m限制容器的内存,修改grub添加swap account支持即可
# 编辑grub配置
nano /etc/default/grub
# GRUB_CMDLINE_LINUX参数内追加cgroup_enable=memory swapaccount=1
# GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
# 更新grub
update-grub
# 重启操作系统
systemctl reboot
# 查看是否还有警告
docker info