docker修改默认存储位置
有勇气的牛排
92
云原生
2024-11-16 14:05:51
查询默认位置
查看docker默认存储路径
docker info

默认存储路径:/var/lib/docker
修改新路径
mkdir -p /cs/data/docker
vim /usr/lib/systemd/system/docker.service
修改如下内容
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd --data-root /cs/data/docker -H fd:// --containerd=/run/containerd/containerd.sock
参数 |
作用 |
/usr/bin/dockerd |
Docker 的守护进程(daemon)主程序。 |
--data-root /cs/data/docker |
指定 Docker 数据的根目录,默认是 /var/lib/docker ,此处改为 /cs/data/docker ,用于存放镜像、容器、卷等所有数据。 |
-H fd:// |
指定 Docker 的监听地址(host)。fd:// 表示从 systemd 继承 socket 激活(systemd socket activation),是现代 Linux 中推荐的方式,意味着 Docker 会监听由 systemd 提供的 socket 文件描述符。 |
–containerd=/run/containerd/containerd.sock |
指定 containerd 的通信 socket 文件。Docker 在内部使用 containerd 来管理容器运行状态,这个参数告诉 dockerd 与哪个 socket 文件通信。 |
重启服务
systemctl daemon-reload
systemctl restart docker
重新查看路径
docker info|grep 'Docker Root Dir'

<h2><a id="_0"></a>查询默认位置</h2>
<p>查看docker默认存储路径</p>
<pre><div class="hljs"><code class="lang-shell">docker info
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/e4d0fe0812d5a3b8687d08081abad159.png" alt="image.png" /></p>
<p>默认存储路径:/var/lib/docker</p>
<h2><a id="_12"></a>修改新路径</h2>
<pre><div class="hljs"><code class="lang-shell">mkdir -p /cs/data/docker
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">vim /usr/lib/systemd/system/docker.service
</code></div></pre>
<p>修改如下内容</p>
<pre><div class="hljs"><code class="lang-shell"><span class="hljs-meta"># </span><span class="language-bash">ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock</span>
ExecStart=/usr/bin/dockerd --data-root /cs/data/docker -H fd:// --containerd=/run/containerd/containerd.sock
</code></div></pre>
<table>
<thead>
<tr>
<th>参数</th>
<th>作用</th>
</tr>
</thead>
<tbody>
<tr>
<td>/usr/bin/dockerd</td>
<td>Docker 的守护进程(daemon)主程序。</td>
</tr>
<tr>
<td><code>--data-root /cs/data/docker</code></td>
<td>指定 Docker 数据的根目录,默认是 <code>/var/lib/docker</code>,此处改为 <code>/cs/data/docker</code>,用于存放镜像、容器、卷等所有数据。</td>
</tr>
<tr>
<td><code>-H fd://</code></td>
<td>指定 Docker 的监听地址(host)。<code>fd://</code> 表示从 systemd 继承 socket 激活(systemd socket activation),是现代 Linux 中推荐的方式,意味着 Docker 会监听由 systemd 提供的 socket 文件描述符。</td>
</tr>
<tr>
<td>–containerd=/run/containerd/containerd.sock</td>
<td>指定 containerd 的通信 socket 文件。Docker 在内部使用 containerd 来管理容器运行状态,这个参数告诉 dockerd 与哪个 socket 文件通信。</td>
</tr>
</tbody>
</table>
<p>重启服务</p>
<pre><div class="hljs"><code class="lang-shell">systemctl daemon-reload
systemctl restart docker
</code></div></pre>
<p>重新查看路径</p>
<pre><div class="hljs"><code class="lang-shell">docker info|grep 'Docker Root Dir'
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/b40aeefff5febb68f84e009fc54b1d8a.png" alt="image.png" /></p>
留言