Docker 存放目录位置解析
一、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文件存放目录的路径就被成功的更改了。