Docker Intro

很早以前就知道 docker,也用过 docker,但是对 docker 这种技术一直是避开的,我原以为,因为 docker 加入了一层虚拟化,性能有损失。这让对性能有追求的我难以接受。

但 docker 也有其必要的地方,比如有很多软件的依赖难以处理,用了 docker 简单许多。

本文不教人制作 docker,只记录安装,使用。


一切的起因都是 Hadoop,虽然学校提供了 Hadoop 的集群,但是同时使用的人太多,服务卡的不行,无奈我只能尝试在自己的服务器上安装 Hadoop,结果 Debian wiki 这样讲:https://wiki.debian.org/Hadoop无奈尝试使用 docker 安装 Hadoop。

也许改天在服务器上装个 arch 也说不定,Arch wiki 上对 Hadoop 的说明友好多了。


#Installation

https://docs.docker.com/engine/install/debian/

更新本地索引,安装一些依赖

sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

在系统中安装 Docker 签发的证书

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

添加 Docker 源

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker

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

测试 Docker 是否正确安装

sudo docker run hello-world

因为 Docker 常有绑定端口等操作,所以可能需要 root 权限。但是,为了降低 root 权限的使用,可以新建一个用户组 docker,非 root 用户加入这个组。

sudo groupadd docker
sudo usermod -aG docker $USER
sudo systemctl restart docker

然后可能需要退出重新登录,以刷新权限。