前言
装双系统时给根目录(/
)只分了80G,而给/home
分了500G。但是Docker 默认安装的情况下,会使用 /var/lib/docker/
目录作为存储目录,用以存放拉取的镜像和创建的容器等,所以想在安装Docker的时候,就直接安装到我的指定目录下(例如/home/$USR/docker/
)
一、修改配置文件
sudo gedit /etc/docker/daemon.json
默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容:
{
"data-root": "/home/$USR/docker"
}
这里data-root就是你指定的存储目录,如果装在自己用户的主文件夹下,那么$USR就是你的用户名
二、安装 Docker
首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
导入源仓库的 GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将 Docker APT 软件源添加到系统:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装 Docker 最新版本:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
一旦安装完成,Docker 服务将会自动启动。可以输入下面的命令验证:
sudo systemctl status docker
想要以非 root 用户执行 Docker 命令,你需要将你的用户添加到 Docker 用户组,该用户组在 Docker CE 软件包安装过程中被创建:
sudo usermod -aG docker $USER
这里$USER
是一个环境变量,代表当前用户名
三、配置生效
# 加载配置
systemctl daemon-reload
#启动docker并且设置开机启动
systemctl enable docker && systemctl restart docker
这是指定的目录下就会出现原来在/var/lib/docker/
出现的文件和目录:
这时查看Docker信息:
docker info
Client: Docker Engine - Community
Version: 26.0.0
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.13.1
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.25.0
Path: /usr/libexec/docker/cli-plugins/docker-compose
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 26.0.0
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: runc io.containerd.runc.v2
Default Runtime: runc
Init Binary: docker-init
containerd version: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc version: v1.1.12-0-g51d5e94
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: builtin
Kernel Version: 5.15.0-102-generic
Operating System: Ubuntu 20.04.6 LTS
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 15.49GiB
ID: e381a554-cb09-4f8d-ade0-f8ed5222f8f4
Docker Root Dir: /home/$USR/docker
Debug Mode: false
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
就会发现 Docker Root Dir 已经改好