《Debian 11 / Ubuntu 20.04 安装 Docker 以及 Docker Compose 教程》
原文:https://u.sb/debian-install-docker/
本文将指导如何在 Debian 11 和 Ubuntu 20.04 下安装 Docker 以及 Docker Compose。
PS:本文同时适用于 Debian 10 Buster、Ubuntu 20.04 Focal 以及 Ubuntu 18.04 Bionic
Docker 是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件,而不再需要安装配置各种环境。开源 Docker 社区致力于改进这类技术,并免费提供给所有用户,使之获益。
什么是 Docker Compose?传统模式下运维人员需要运行 docker run 来启动各种容器,一旦容器过多,就无法一次性记住所有的运行参数和命令,这时候我们可以使用 Docker Compose 来解决这个问题。Docker Compose 是一种工具,用于帮助定义和共享多容器应用程序。 通过 Compose,你可以创建 YAML 文件来定义服务,并且只需一个命令,就可以启动或清理所有内容。使用 Compose 的巨大优点是,你可以在文件中定义应用程序堆栈,使其位于项目存储库的根目录下(它现在受版本控制),并方便其他人参与你的项目。 其他人只需克隆你的存储库即可开始撰写应用。 事实上,你可能会看到 GitHub/GitLab 上的很多项目现在都是这样做的。(via 使用 Docker Compose)
使用官方源安装 Docker
以下操作需要在 root 用户下完成,请使用 sudo -i 或 su root 切换到 root 用户进行操作。
安装一些必要的软件包:
apt update apt upgrade -y apt install curl vim wget gnupg apt-transport-https lsb-release ca-certificates
然后加入 Docker 的 GPG 公钥和 apt 源:
wget -O /usr/share/keyrings/docker.asc https://download.docker.com/linux/debian/gpg echo "deb [signed-by=/usr/share/keyrings/docker.asc] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
国内机器可以用清华 TUNA的国内源:
wget -O /usr/share/keyrings/docker.asc https://download.docker.com/linux/debian/gpg echo "deb [signed-by=/usr/share/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
更新系统后即可安装 Docker CE:
apt update apt-get install docker-ce docker-ce-cli containerd.io
检查是否安装成功:
docker version
输出:
Client: Docker Engine - Community Version: 20.10.12 API version: 1.41 Go version: go1.16.12 Git commit: e91ed57 Built: Mon Dec 13 11:45:48 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.12 API version: 1.41 (minimum version 1.12) Go version: go1.16.12 Git commit: 459d0df Built: Mon Dec 13 11:43:56 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.12 GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d runc: Version: 1.0.2 GitCommit: v1.0.2-0-g52b36a2 docker-init: Version: 0.19.0 GitCommit: de40ad0
安装 Docker Compose:
使用 Docker 官方发布的 Github 直接安装最新版本:
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
此时可以使用 docker-compose version 命令检查是否安装成功:
docker-compose version
输出:
Docker Compose version v2.2.3
如果报错:
Segmentation fault
参考:https://blog.csdn.net/Ever_glow/article/details/122649295
修改 Docker 配置:
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训):
cat > /etc/docker/daemon.json <<EOF { "log-driver": "json-file", "log-opts": { "max-size": "20m", "max-file": "3" }, "ipv6": true, "fixed-cidr-v6": "fd00:dead:beef:c0::/80", "experimental":true, "ip6tables":true } EOF
重启 Docker 服务:
systemctl restart docker
好了,我们已经安装好了 Docker 和 Docker Compose,然后就可以开始愉快的安装各种软件。