酥饼博客

D81af7324f2f08254fce23f5c22a28f86bian12/Ubuntu24.04安装Do45f2fd93ea2cd63cafa3dffce1a0e763ker以及DockerCompose教程

Jun21st,2024

本文将指导怎样在Debian12和Ubuntu24.04下安装Docker以及DockerCompose。

PS:本文同时适用于Debian11以及Ubuntu20.04,Ubuntu22.04

哪些是Docker?

Docker是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件linux操作系统培训,而不再须要安装配置各类环境。开源Docker社区旨在于改进这类技术,并免费提供给所有用户,使之受益。

哪些是DockerCompose?

传统模式下运维人员须要运行dockerrun来启动各类容器,一旦容器过多,就难以一次性记住所有的运行参数和命令,这时侯我们可以使用DockerCompose来解决这个问题。

DockerCompose是一个用于在单个主机上定义和运行多个Docker容器的工具。它使用YAML文件来配置应用程序的服务,之后使用一个命令就可以创建并启动所有服务。使用DockerCompose可以大大简化Docker容器的管理和布署,非常是对于具有多个相互依赖的容器的复杂应用。

使用官方源安装Docker

以下操作须要在root用户下完成,请使用sudo-i或suroot切换到root用户进行操作。

首先,安装一些必要的软件包:

<pre class=" bs_fv”>apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates

之后加入Docker的GPG私钥和apt源:

curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

国外机器可以用北大TUNA的国外源:

curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

之后更新系统后即可安装DockerCE和DockerCompose插件:

apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

此时可以使用dockerversion命令检测是否安装成功:

root@debian ~ # docker version
Client: Docker Engine - Community
 Version:           26.1.4
 API version:       1.45
 Go version:        go1.21.11
 Git commit:        5650f9b
 Built:             Wed Jun  5 11:29:22 2024
 OS/Arch:           linux/amd64
 Context:           default
Server: Docker Engine - Community
 Engine:
  Version:          26.1.4
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.11
  Git commit:       de5c9cf
  Built:            Wed Jun  5 11:29:22 2024
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          1.6.33
  GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

假如须要某个特定用户可以用Dockerrootless模式运行Docker,这么可以把这个用户也加入dockerdockerlinux 论坛,例如我们把www-data用户加进去:

apt install docker-ce-rootless-extras
sudo usermod -aG docker www-data

docker_dockernas_docker是干什么的

安装DockerCompose

由于我们早已安装了docker-compose-plugin,所以Docker目前早已自带dockercompose命令,基本上可以取代docker-compose:

root@debian ~ # docker compose version
Docker Compose version v2.27.1

假如个别镜像或命令不兼容docker,则我们还可以单独安装DockerCompose:

我们可以使用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-composeversion命令检测是否安装成功:

root@debian ~ # docker-compose version
Docker Compose version v2.27.1

更改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和DockerCompose,之后就可以开始愉快的安装各类软件,限于篇幅,我们不再赘言,今后渐渐介绍安装各类Docker软件的方式。

Debian12/Ubuntu24.04安装Docker以及DockerCompose教程

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复