Skip to content

Docker 安装

在 Ubuntu 系统上安装

必要工具

bash
apt -y install apt-transport-https ca-certificates curl software-properties-common

安装 GPG 证书

bash
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 中科大镜像
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

增加 Docker 软件源

bash
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 中科大镜像
add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装 Docker

bash
apt -y install docker-ce

在 CentOS / Rocky Linux 上安装

安装必要工具

bash
dnf install -y yum-utils

增加镜像仓库

bash
yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

sed -i 's/download.docker.com/mirrors.ustc.edu.cn\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

安装 Docker

bash
dnf makecache && dnf install docker-ce -y

Docker 配置

开启 Docker 并设置开机自启

bash
systemctl enable docker && systemctl start docker

设置 DockerHub 镜像

  1. 创建配置文件/etc/docker/daemon.json

  2. 修改配置文件,增加如下内容

    json
    {
      "registry-mirrors": [
        "https://dockerhub.icu"
      ]
    }
  3. 热更新配置文件

    bash
    kill -SIGHUP $(pidof dockerd)
    # 或者
    pkill -SIGHUP dockerd

Docker 设置代理

参考:Control Docker with systemd | Docker Documentation

bash
mkdir -p /etc/systemd/system/docker.service.d
cd /etc/systemd/system/docker.service.d
touch http-proxy.conf

编辑 http-proxy.conf 文件, 协议也可以用 socks5

ini
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=http://proxy.example.com:443"

Docker Compose 安装(新版已自带,无需手动安装)

安装方式参考官方文档

Docker Compose 下载地址

这个安装本质就是下载一个可执行文件, 然后放在用户目录下的 .docker/cli-plugins/docker-compose ; 需要注意的是, 这里的用户目录其实是 Root 用户, 普通用户是不行的, 下载完后记得赋予 ​​docker-compose可执行权限

常见问题

docker info 最后显示警告

问题描述

使用 docker info 查看信息时, 显示警告 WARNING: No swap limit support

解决办法

修改 /etc/default/grub, 设置 GRUB_CMDLINE_LINUX 为下列内容

bash
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

配置 Docker 根目录

INFO

Docker 下载的镜像,创建的容器、网络等等默认都保存在 /var/lib/docker 目录下,但是这个目录是系统目录,系统分区所在目录磁盘空间可能不够,有时候就需要修改此目录

  1. 查看当前 Docker 根目录,记住这个路径,默认是 /var/lib/docker

    bash
    docker info | grep Dir
  2. ​ /etc/docker/daemon.json 中增加以下配置,new-path 为新路径

    json
    {
       // 已废弃
      // "graph": "/new-path"
      "data-root": "/new-path"
    }
  3. 将原来的数据拷贝过去

    bash
    cp -r /var/lib/docker /new-path
  4. 重启 docker 即可