docker修改默认存储位置
        
                
                    
                    有勇气的牛排
                
            
                    
                    280
                
            
                    
                    
                    云原生
                    
                
            
                    
                    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://www.couragesteak.com/tcos/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://www.couragesteak.com/tcos/article/b40aeefff5febb68f84e009fc54b1d8a.png" alt="image.png" /></p>
            
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
            
                
                
                
            
        
    
    
    
 
评论区