Docker Notes
T

在 Linux 系统上安装 Docker Engine(docker-ce)

文档:

Debian/Ubuntu

docker-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

如果你过去安装过 docker,先删掉:

sudo apt-get remove docker docker-engine docker.io containerd runc

首先安装依赖:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

信任 Docker 的 GPG 公钥:

# Debian
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

# Ubuntu
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

对于 amd64 架构的计算机,添加软件仓库:

# Debian
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
   $(lsb_release -cs) \
   stable"

# Ubuntu
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

如果你是树莓派或其它 ARM 架构计算机,请运行:

# Debian
echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
     $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list

# Ubuntu
echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
     $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list

最后安装

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Fedora/CentOS/RHEL

docker-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

如果你之前安装过 docker,请先删掉

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装一些依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 wget

根据你的发行版下载 repo 文件:

# CentOS/RHEL
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

# Fedora
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/fedora/docker-ce.repo

把软件仓库地址替换为 TUNA:

sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

最后安装:

sudo yum makecache fast
sudo yum install docker-ce docker-ce-cli containerd.io

手动安装

使用脚本安装(--mirror Aliyun 使用阿里云镜像)

# curl -fsSL https://get.docker.com -o get-docker.sh
# DRY_RUN=1 sh ./get-docker.sh
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

配置 docker

  1. 确认 Docker Engine 安装成功。

    sudo docker run hello-world
  2. 创建 docker 用户组。

    sudo groupadd docker
  3. 添加用户到 docker 用户组。

    sudo usermod -aG docker $USER
  4. 配置 docker 开机自启。

    sudo systemctl enable docker.service
    sudo systemctl enable containerd.service
    sudo systemctl daemon-reload
    sudo systemctl start docker
    sudo netstat -lntp | grep dockerd
  5. 注销后重新登录。

安装脚本

# Install docker
# curl -fsSL https://get.docker.com -o get-docker.sh
# DRY_RUN=1 sh ./get-docker.sh
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# Verify that Docker Engine is installed correctly
sudo docker run hello-world

# Create the docker group
if [ ! $(getent group docker) ];
then
    sudo groupadd docker;
else
    echo "docker user group already exists"
fi

# Add your user to the docker group
sudo usermod -aG docker $USER

# Configure Docker to start on boot
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
sudo systemctl daemon-reload
sudo systemctl start docker
sudo netstat -lntp | grep dockerd

# Remove script
rm -rf get-docker.sh

# Log out and log back
Show Graph Visualisation