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 -yDocker 配置
开启 Docker 并设置开机自启
bash
systemctl enable docker && systemctl start docker设置 DockerHub 镜像
创建配置文件
/etc/docker/daemon.json修改配置文件,增加如下内容
json{ "registry-mirrors": [ "https://dockerhub.icu" ] }热更新配置文件
bashkill -SIGHUP $(pidof dockerd) # 或者 pkill -SIGHUP dockerd
Docker 设置代理
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/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 目录下,但是这个目录是系统目录,系统分区所在目录磁盘空间可能不够,有时候就需要修改此目录
查看当前 Docker 根目录,记住这个路径,默认是
/var/lib/dockerbashdocker info | grep Dir在
/etc/docker/daemon.json中增加以下配置,new-path为新路径json{ // 已废弃 // "graph": "/new-path" "data-root": "/new-path" }将原来的数据拷贝过去
bashcp -r /var/lib/docker /new-path重启 docker 即可