Ubuntu 环境下安装 Docker
<h1><span style="font-family: 楷体, "Kaiti SC"">系统要求</span></h1><p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> Docker<strong><span style="color: rgba(255, 0, 0, 1)">目前只能运行在64位平台</span></strong>上,并且要求<strong><span style="color: rgba(255, 0, 0, 1)">内核版本不低于3.10</span></strong>,实际上内核越新越好,过低的内核版本容易造成功能不稳定。</span></p>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 用户可以通过如下命令<span style="color: rgba(0, 204, 255, 1)"><strong>检查自己的内核版本详细信息</strong></span>:</span></p>
<div class="cnblogs_code">
<pre>$ <span style="color: rgba(0, 0, 255, 1)">uname</span> -<span style="color: rgba(0, 0, 0, 1)">a
Linux ubuntu </span><span style="color: rgba(128, 0, 128, 1)">4.4</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">131</span>-generic #<span style="color: rgba(128, 0, 128, 1)">157</span>-Ubuntu SMP Thu Jul <span style="color: rgba(128, 0, 128, 1)">12</span> <span style="color: rgba(128, 0, 128, 1)">15</span>:<span style="color: rgba(128, 0, 128, 1)">51</span>:<span style="color: rgba(128, 0, 128, 1)">36</span> UTC <span style="color: rgba(128, 0, 128, 1)">2018</span> x86_64 x86_64 x86_64 GNU/Linux</pre>
</div>
<p> <span style="font-family: 楷体, "Kaiti SC"; font-size: 18px">或</span></p>
<div class="cnblogs_code">
<pre>$ <span style="color: rgba(0, 0, 255, 1)">cat</span> /proc/<span style="color: rgba(0, 0, 0, 1)">version
Linux version </span><span style="color: rgba(128, 0, 128, 1)">4.4</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">131</span>-generic (buildd@lgw01-amd64-<span style="color: rgba(128, 0, 128, 1)">015</span>) (<span style="color: rgba(0, 0, 255, 1)">gcc</span> version <span style="color: rgba(128, 0, 128, 1)">5.4</span>.<span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">20160609</span> (Ubuntu <span style="color: rgba(128, 0, 128, 1)">5.4</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-6ubuntu1~<span style="color: rgba(128, 0, 128, 1)">16.04</span>.<span style="color: rgba(128, 0, 128, 1)">10</span>) ) #<span style="color: rgba(128, 0, 128, 1)">157</span>-Ubuntu SMP Thu Jul <span style="color: rgba(128, 0, 128, 1)">12</span> <span style="color: rgba(128, 0, 128, 1)">15</span>:<span style="color: rgba(128, 0, 128, 1)">51</span>:<span style="color: rgba(128, 0, 128, 1)">36</span> UTC <span style="color: rgba(128, 0, 128, 1)">2018</span></pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> Docker目前<span style="color: rgba(204, 153, 255, 1)">支持的最低Ubuntu版本为:14.04 LTS</span>,但实际上从稳定性上考虑,<span style="color: rgba(204, 153, 255, 1)">推荐至少使用16.04 LTS版本</span>。</span></p>
<hr>
<p><span style="color: rgba(255, 0, 0, 1)"> <span style="font-family: 楷体, "Kaiti SC"; font-size: 18px">注意:</span></span></p>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> <span style="color: rgba(255, 153, 0, 1)">Ubuntu发行版中,LTS(Long-Term-Support)意味着更稳定的功能和更长期(目前为5年)的升级支持,生产环境中尽量使用LTS版本。</span></span></p>
<hr>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> </span><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px">如果使用Ubuntu 16.04 LTS 版本,为了让Docker使用aufs存储,推荐安装如下两个软件包:</span></p>
<div class="cnblogs_code">
<pre>$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-<span style="color: rgba(0, 0, 0, 1)">get update
</span>$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get <span style="color: rgba(0, 0, 255, 1)">install</span> -y linux-image-extra-$(<span style="color: rgba(0, 0, 255, 1)">uname</span> -r) linux-image-extra-virtual</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> <strong>如果出现如下异常:</strong></span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to </span><span style="color: rgba(0, 0, 255, 1)">locate</span> package linux-image-extra-<span style="color: rgba(128, 0, 128, 1)">4.4</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">185</span>-<span style="color: rgba(0, 0, 0, 1)">generic
E: Couldn</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t find any package by glob </span><span style="color: rgba(128, 0, 0, 1)">'</span>linux-image-extra-<span style="color: rgba(128, 0, 128, 1)">4.4</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">185</span>-generic<span style="color: rgba(128, 0, 0, 1)">'
</span>E: Couldn<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t find any package by regex </span><span style="color: rgba(128, 0, 0, 1)">'</span>linux-image-extra-<span style="color: rgba(128, 0, 128, 1)">4.4</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">185</span>-generic<span style="color: rgba(128, 0, 0, 1)">'</span></pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> <strong>解决方案:</strong></span></p>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> <span class="cnblogs_code">linux-image-generic</span> 应该已经安装了相关的 <span class="cnblogs_code">linux-image-extra</span> 包,但名称已更改为 <span class="cnblogs_code">linux-modules-extra</span> 。试试这个升级到最新的内核:</span></p>
<div class="cnblogs_code">
<pre>$<span style="color: rgba(0, 0, 0, 1)"> sudo apt update
</span>$<span style="color: rgba(0, 0, 0, 1)"> sudo apt upgrade
</span>$ sudo apt install --reinstall linux-image-generic</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 然后,重新启动并尝试使用以下命令:</span></p>
<div class="cnblogs_code">
<pre>$ sudo apt install linux-modules-extra-$(uname -r) linux-image-extra-virtual</pre>
</div>
<p> </p>
<hr>
<h1><span style="font-family: 楷体, "Kaiti SC"">添加镜像源</span></h1>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 首先需要安装 <span class="cnblogs_code">apt-transport-https</span> 包支持HTTPS协议的源:</span></p>
<div class="cnblogs_code">
<pre>$ sudo apt-<span style="color: rgba(0, 0, 0, 1)">get update
</span>$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 添加源的gpg密钥:</span></p>
<div class="cnblogs_code">
<pre>$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 设置稳定版仓库:</span></p>
<div class="cnblogs_code">
<pre>$ sudo add-apt-repository <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable</span><span style="color: rgba(128, 0, 0, 1)">"</span></pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 添加成功后,更新apt软件包缓存:</span></p>
<div class="cnblogs_code">
<pre>$ sudo apt-get update</pre>
</div>
<p> </p>
<hr>
<h1>安装Docker CE和containerd</h1>
<div class="cnblogs_code">
<pre>$ apt-get install docker-ce docker-ce-cli containerd.io</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 由于网络原因,安装过程可能会失败,重新执行安装命令即可。该方式安装的为最新版的Docker CE和containerd。</span></p>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 查看docker版本:</span></p>
<div class="cnblogs_code">
<pre>$ docker --<span style="color: rgba(0, 0, 0, 1)">version
Docker version </span>20.10.2, build 2291f61</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 检查Docker CE是否安装正确:</span></p>
<div class="cnblogs_code">
<pre>$ sudo docker run hello-world</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 出现如下信息,表示安装成功:</span></p>
<p><img src="https://img2022.cnblogs.com/blog/2123988/202210/2123988-20221017213751186-1741923327.png" alt="" width="781" height="511" loading="lazy" style="display: block; margin-left: auto; margin-right: auto"></p>
<p> </p>
<hr>
<h1>让普通用户使用Docker</h1>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 要解决这个问题,必须抓住LInux的权限管理:要<span style="color: rgba(0, 204, 255, 1)">把当前的用户添加到docker group</span>.</span></p>
<div class="cnblogs_code">
<pre>$ sudo usermod -a -G docker <span style="color: rgba(128, 0, 128, 1)">$USER</span> //<span style="color: rgba(0, 0, 0, 1)">将当前用户添加到docker组中
</span>$ newgrp docker <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">更新用户组</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> 退出并重新登录后,组信息才会生效</span>
$ docker ps <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">测试docker命令是否可以使用sudo正常使用</span></pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> <span style="color: rgba(0, 204, 255, 1)"> </span>notes:</span></p>
<p><strong> -a</strong> :在-G存在的情况下,增加次要用户组的支持,不是修改当前用户组</p>
<p><strong> -G</strong> :修改当前次要组</p>
<p><strong> -G -a</strong> :是增加新的次要组</p>
<br><hr>
<h1>卸载Docker</h1>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 卸载Docker Engine,CLI和Containerd软件包:</span></p>
<div class="cnblogs_code">
<pre>$ sudo apt-get purge docker-ce docker-ce-cli containerd.io</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:</span></p>
<div class="cnblogs_code">
<pre>$ sudo rm -rf /var/lib/docker</pre>
</div>
<p><span style="font-family: 楷体, "Kaiti SC"; font-size: 18px"> 必须手动删除所有已编辑的配置文件。</span></p>
<p> </p><br><br>
来源:https://www.cnblogs.com/ruoli-0/p/16800590.html
頁:
[1]