Debian安装docker和docker compose
参考链接:https://u.sb/debian-install-docker/,这是我用过**最快**的教程,0报错
使用官方源安装docker
首先,安装一些必要的软件包:
apt update apt upgrade -y apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
|
然后加入 Docker 的 GPG 公钥和 apt 源(我这里用的是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
|
然后更新系统后即可安装 Docker CE 和 Docker Compose 插件:
apt update apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
此时可以使用 docker version
命令检查是否安装成功:
eraser@debian:~$ sudo docker version [sudo] password for eraser: Client: Docker Engine - Community Version: 27.3.1 API version: 1.47 Go version: go1.22.7 Git commit: ce12230 Built: Fri Sep 20 11:41:11 2024 OS/Arch: linux/amd64 Context: default
Server: Docker Engine - Community Engine: Version: 27.3.1 API version: 1.47 (minimum version 1.24) Go version: go1.22.7 Git commit: xx Built: Fri Sep 20 11:41:11 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.22 GitCommit: xxx runc: Version: 1.1.14 GitCommit: v1.1.14-0-g2c9f560 docker-init: Version: 0.19.0 GitCommit: xx
|
如果需要某个特定用户可以用 Docker rootless 模式运行 Docker,那么可以把这个用户也加入 docker 组,比如我们把 www-data
用户加进去:
apt install docker-ce-rootless-extras sudo usermod -aG docker www-data
|
安装Docker Compose
因为我们已经安装了 docker-compose-plugin
,所以 Docker 目前已经自带 docker compose
命令,基本上可以替代 docker-compose
:
root@dibian:~ # docker compose version Docker Compose version v2.29.7
|
如果某些镜像或命令不兼容,则我们还可以单独安装 Docker Compose,这里建议直接下载镜像再上传到debian中
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
|
此时可以使用 docker-compose version
命令检查是否安装成功:
root@debian:~# docker-compose version Docker Compose version v2.29.7
|
修改 Docker 配置
换源,限制日志文件大小,防止 Docker 日志塞满硬盘
cat > /etc/docker/daemon.json << EOF { "registry-mirrors": ["仓库地址1","仓库地址2"...] "log-driver": "json-file", "log-opts": { "max-size": "20m", "max-file": "3" } } EOF
|
测试一下
安装个onlinetools试试
git clone https://github.com/iceyhexman/onlinetools.git cd onlinetools docker build -t onlinetools . docker run -d -p 8000:8000 onlinetools
|