杨小羽 發表於 2023-6-27 00:00:00

Ubuntu下安装Docker实现步骤

<p>
        安装之前,首先要满足一些先决条件。为了安装Docker,你需要是Ubuntu任意64版本。</p>
<ul>
<li>
                Yakkety 16.10</li>
        <li>
                xenial 16.04 </li>
        <li>
                Trusty 14.04 </li>
</ul>
<p>
        通过下面命令来查看当前版本。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_214805">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">lsb_release -a</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>额外推荐的包</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_800173">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get update </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get upgrade </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">curl \</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">linux-image-extra-$(</code><code class="bash functions">uname</code> <code class="bash plain">-r) \</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">linux-image-extra-virtual</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        第一条命令用于获取最近的软件包列表信息,第二命令用于进行一次升级,第三个命令用来安装用于Docker的aufs存储驱动器。</p>
<p>
        PS:</p>
<ul>
<li>
                某些时候,一些Linux镜像变体往往通过删除不常见的模块(驱动器)的进行瘦身, 在这种情况下,linux-image-extra包简单地包含所有被省略的“额外”内核模块。这种情况只发生在-virtual 镜像中; 最常见的虚拟机管理程序(Virtualbox,VMWare,Xen,KVM)模拟了一套定义完好且受限制的硬件集,因此删除不必要的驱动程序来减少kernel / initrd的大小。 您可以随时通过安装extras包来获得它们。</li>
        <li>
                uname 用于获取当前操作系统的信息,uname -r 用于获取当前内核的版本号。</li>
</ul>
<p>
        <strong>安装Docker</strong></p>
<ul>
<li>
                大多数用户设置Docker仓库,并从中进行安装,便于升级。(推荐方法)</li>
        <li>
                一些用户下载DEB包,手动地进行安装和进行升级。</li>
        <li>
                一些用户依赖伴随他们操作系统的Docker版本,这可能已经过时了。这些用户应查阅其操作系统文档,而不遵循这些步骤。</li>
</ul>
<p>
        <strong>使用仓库进行安装</strong></p>
<p>
        在你第一次且在一台新机器上安装前,你需要设置Docker仓库,之后,您可以从存储库安装,更新或降级Docker。</p>
<p>
        设置仓库</p>
<p>
        1.安装软件包,来使得apt能够基于HTTPS使用仓库:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_154221">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">apt-transport-https \</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">ca-certificates</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        2. 添加Docker的官方GPG 公钥:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_511363">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ curl -fsSL https:</code><code class="bash plain">//yum</code><code class="bash plain">.dockerproject.org</code><code class="bash plain">/gpg</code> <code class="bash plain">| </code><code class="bash functions">sudo</code> <code class="bash plain">apt-key add -</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        apt-key add &lt;file&gt;命令用于将公钥添加到指定的文件,- 对应于标准输入。</p>
<p>
        3.验证公钥ID:58118E89F3A912897C070ADBF76221572C52609D。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_686547">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash plain">pub  4096R</code><code class="bash plain">/2C52609D</code> <code class="bash plain">2015-07-14</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash spaces">    </code><code class="bash plain">Key fingerprint = 5811 8E89 F3A9 1289 7C07 0ADB F762 2157 2C52 609D</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash plain">uid         Docker Release Tool (releasedocker) &lt;docker@docker.com&gt;t</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        4.使用下面命令来设置稳定仓库,也可以激活测试仓库,只需在最后一行main后面加上testing即可。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_218895">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">add-apt-repository \</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash spaces">    </code><code class="bash plain">"deb https:</code><code class="bash plain">//apt</code><code class="bash plain">.dockerproject.org</code><code class="bash plain">/repo/</code> <code class="bash plain">\</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash spaces">    </code><code class="bash plain">ubuntu-$(lsb_release -cs) \</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash spaces">    </code><code class="bash plain">main"</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        为了禁用testing仓库,你需要编辑/etc/apt/sources.list,并且在对应行中移除单词testing即可。</p>
<p>
        add-apt-repository 命令(实质是个Python脚本)在source.list里添加 ppa 源(同时完成导入key)。</p>
<p>
        <strong>安装Docker</strong></p>
<p>
        1.更新apt包索引:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_794678">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">apt-get update</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        2.安装最新版本的Docker,将会替换掉任意已经存在的Docker。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_933345">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get -y </code><code class="bash functions">install</code> <code class="bash plain">docker-engine</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        注意:如果您启用了稳定和不稳定的仓库,则在apt-get install或apt-get update命令中在不指定版本的情况下安装或更新将始终安装尽可能高的版本,这几乎肯定是不稳定的版本。</p>
<p>
        3.在生产环境中,你应该安装指定的版本而不是最新的。下面输入列出所有可用的版本。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_623694">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ apt-cache madison docker-engine</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">docker-engine | 1.13.0-0~xenial | https:</code><code class="bash plain">//apt</code><code class="bash plain">.dockerproject.org</code><code class="bash plain">/repo</code> <code class="bash plain">ubuntu-xenial</code><code class="bash plain">/main</code> <code class="bash plain">amd64 Packages</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">docker-engine | 1.12.3-0~xenial | https:</code><code class="bash plain">//apt</code><code class="bash plain">.dockerproject.org</code><code class="bash plain">/repo</code> <code class="bash plain">ubuntu-xenial</code><code class="bash plain">/main</code> <code class="bash plain">amd64 Packages</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">docker-engine | 1.12.2-0~xenial | https:</code><code class="bash plain">//apt</code><code class="bash plain">.dockerproject.org</code><code class="bash plain">/repo</code> <code class="bash plain">ubuntu-xenial</code><code class="bash plain">/main</code> <code class="bash plain">amd64 Packages</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">docker-engine | 1.12.1-0~xenial | https:</code><code class="bash plain">//apt</code><code class="bash plain">.dockerproject.org</code><code class="bash plain">/repo</code> <code class="bash plain">ubuntu-xenial</code><code class="bash plain">/main</code> <code class="bash plain">amd64 Packages</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        4.安装指定的版本:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_837950">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get -y </code><code class="bash functions">install</code> <code class="bash plain">docker-engine=&lt;VERSION_STRING&gt;</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        Docker的守护进程将会自动启动。</p>
<p>
        5.运行hello-world镜像来验证Docker已经被正确安装。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_510028">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">docker run hello-world</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        这个命令下载一个测试镜像,在容器中运行,当容器运行的时候,它打印出一些消息信息。</p>
<p>
        Docker已经安装运行了,你需要使用sudo命令运行Docker命令。</p>
<p>
        <strong>升级Docker</strong></p>
<p>
        为了升级Docker,首先运行sudo apt-get upgrade,然后遵循安装指令,选择你想要安装的最新版本。</p>
<p>
        <strong>从安装包进行安装</strong></p>
<p>
        如果你不使用Docker仓库进行安装,你可以下载.deb包,手动地进行安装,每一次升级Docker,你将需要下载一个新的文件。</p>
<p>
        1.下载特定ubuntu系统的指定Docker版本,访问地址:https://apt.dockerproject.org/repo/pool/main/d/docker-engine</p>
<p>
        2.安装docker的deb包:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_223646">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">dpkg -i </code><code class="bash plain">/path/to/package</code><code class="bash plain">.deb</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>升级Docker</strong></p>
<p>
        要升级Docker,请下载较新的软件包文件,并重复安装过程,指向新文件。</p>
<p>
        <strong> 卸载Docker</strong></p>
<p>
        1.卸载Docker包:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_939396">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">apt-get purge docker-engine</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        2.在你主机上的镜像, 容器, 卷, 或者 自定义配置文件不会自动删除,需要你手动删除。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_454513">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash functions">rm</code> <code class="bash plain">-rf </code><code class="bash plain">/var/lib/docker</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
<p>
        原文链接:http://www.cnblogs.com/baishoujing/articles/6351578.html</p>
頁: [1]
查看完整版本: Ubuntu下安装Docker实现步骤