学而实习之 不亦乐乎

Docker 存放目录位置解析

2024-03-02 19:28:34

一、Docker文件存放目录是什么

Docker 文件存放目录是指 Docker 引擎运行时需要用到的各种文件、配置信息以及日志等数据的存储路径。

在Linux系统中,默认情况下Docker文件存放目录位于 /var/lib/docker 下,包含了Docker Image、容器、网络、存储卷等相关信息。不同的发行版可能有所差异,部署时需注意。为了方便管理和维护,可根据不同的需要对 Docker 文件存放目录进行自定义设置。

docker 的系统日志存储在 /var/lib/docker/, 每个容器都有一个特定于其 ID 的日志,类似下面的方式访问:

/var/lib/docker/containers/ID/ID-json.log

二、查看Docker文件存放目录

通过以下两种方式可以查看当前Docker文件存放目录的路径:

1. 使用docker info命令

# docker info

在输出的信息中,会有一项“Docker Root Dir”,即为当前Docker文件存放目录的路径。

2. 直接查看/var/lib/docker目录

# ls /var/lib/docker

直接查看/var/lib/docker目录下的文件,通常会包含image、containers、volumes等文件夹。这些文件夹即为Docker文件存放目录的主要组成部分。

三、Docker文件存放目录的内容

下面对Docker文件存放目录的主要组成部分进行详细的解析。

1. Image目录

Image目录存放着构建Docker镜像时需要用到的所有文件。

# ls /var/lib/docker/image

可以使用以上命令查看Image目录中的内容。

2. Containers目录

Containers目录包含了所有的Docker容器。

# ls /var/lib/docker/containers

使用以上命令查看Containers目录中的内容。

3. Volumes目录

Volumes目录存放着所有的Docker卷。

# ls /var/lib/docker/volumes

可以使用以上命令查看Volumes目录中的内容。

4. Network目录

Network目录存放了Docker网络的相关配置文件。

# ls /var/lib/docker/network

可以使用以上命令查看Network目录中的内容。

5. Plugins目录

Plugins目录存放了所有的Docker插件。

# ls /var/lib/docker/plugins

可以使用以上命令查看Plugins目录中的内容。

6. Swarm目录

Swarm目录是用于存放Docker Swarm节点的相关信息。

# ls /var/lib/docker/swarm

可以使用以上命令查看Swarm目录中的内容。

四、自定义Docker文件存放目录的路径

除了使用默认的Docker文件存放目录之外,还可以根据自己的需求进行自定义设置。

在Linux系统环境下,可以通过修改systemd unit文件中的内容来更改默认Docker文件存放目录路径。

例如,在Ubuntu 18.04系统上,可以按以下步骤进行配置:

1. 编辑“/lib/systemd/system/docker.service”文件:

# vi /lib/systemd/system/docker.service

2. 修改EnvironmentFile路径,将/etc/docker文件夹下的配置文件传递给docker daemon。

EnvironmentFile=/etc/default/docker

3. 在/etc/default/docker文件夹下新建docker配置文件,并添加以下内容:

DOCKER_OPTS="--graph=/mnt/docker-data"

其中,/mnt/docker-data代表自定义的存放目录路径。

4. 重新加载systemd并重启docker:

# systemctl daemon-reload
# systemctl restart docker

完成以上设置后,Docker文件存放目录的路径就被成功的更改了。