静待湾归 發表於 2020-7-17 08:53:00

在Debian上安装Docker Engine

<p>官方原文地址:https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script</p>
<p><span>要在Debian上开始使用Docker Engine,请确保您&nbsp;</span>满足前提条件<span>,然后&nbsp;</span>安装Docker<span>。</span></p>
<h2 id="prerequisites"><span>前提条件</span></h2>
<h3 id="os-requirements"><span>操作系统要求</span></h3>
<p><span>要安装Docker Engine,您需要以下Debian或Raspbian版本之一的64位版本:</span></p>
<p>Debian Buster 10 (stable)</p>
<p>Debian Stretch 9 / Raspbian Stretch</p>
<p><span>Docker Engine在</span><code class="highlighter-rouge">x86_64</code><span>(或</span><code class="highlighter-rouge">amd64</code><span>)</span><code class="highlighter-rouge">armhf</code><span>,和</span><code class="highlighter-rouge">arm64</code><span><span>体系结构</span><span>上受支持</span><span>。</span></span></p>
<h3 id="uninstall-old-versions"><span>卸载旧版本</span></h3>
<p><span>Docker的旧版本被称为</span><code class="highlighter-rouge">docker</code><span>,</span><code class="highlighter-rouge">docker.io</code><span>或</span><code class="highlighter-rouge">docker-engine</code><span><span>。</span><span>如果已安装这些,请卸载它们:</span></span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo apt-get remove docker docker-engine docker.io containerd runc
</span></span></code></pre>
</div>
</div>
<p><span>如果</span><code class="highlighter-rouge">apt-get</code><span>报告未安装这些软件包,则可以。</span></p>
<p><span>的内容(</span><code class="highlighter-rouge">/var/lib/docker/</code><span><span>包括图像,容器,卷和网络)被保留。</span><span>Docker Engine软件包现在称为</span></span><code class="highlighter-rouge">docker-ce</code><span>。</span></p>
<h2 id="installation-methods"><span>安装方法</span></h2>
<p><span>您可以根据需要以不同的方式安装Docker Engine:</span></p>
<ul>
<li>
<p><span>大多数用户会&nbsp;</span>设置Docker的存储库<span><span>并从中进行安装,以简化安装和升级任务。</span><span>这是推荐的方法,除了Raspbian之外。</span></span></p>
</li>
<li>
<p><span>一些用户下载并</span>手动安装<span><span>&nbsp;DEB软件包,&nbsp;</span><span>并完全手动管理升级。</span><span>这在诸如在无法访问互联网的空白系统上安装Docker的情况下很有用。</span></span></p>
</li>
<li>
<p><span>在测试和开发环境中,一些用户选择使用自动&nbsp;</span>便利脚本<span><span>来安装Docker。</span><span>这是当前Raspbian的唯一方法。</span></span></p>
</li>
</ul>
<h3 id="install-using-the-repository"><span>使用存储库安装</span></h3>
<p><span><span>在新主机上首次安装Docker Engine之前,需要设置Docker存储库。</span><span>之后,您可以从存储库安装和更新Docker。</span></span></p>
<blockquote>
<p>Raspbian用户不能使用此方法!</p>
<p><span><span>对于Raspbian,尚不支持使用存储库进行安装。</span><span>您必须改为使用</span></span>便捷脚本<span>。</span></p>
</blockquote>
<h4 id="set-up-the-repository"><span>设置存储库</span></h4>
<ol>
<li>
<p><span>更新</span><code class="highlighter-rouge">apt</code><span>软件包索引并安装软件包以允许</span><code class="highlighter-rouge">apt</code><span>通过HTTPS使用存储库:</span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo apt-get update

<span class="nv">$ <span class="nb">sudo apt-get install <span class="se">\
    apt-transport-https <span class="se">\
    ca-certificates <span class="se">\
    curl <span class="se">\
    gnupg-agent <span class="se">\
    software-properties-common
</span></span></span></span></span></span></span></span></span></code></pre>
</div>
</div>
</li>
<li>
<p><span>添加Docker的官方GPG密钥:</span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ curl <span class="nt">-fsSL https://download.docker.com/linux/debian/gpg | <span class="nb">sudo apt-key add -
</span></span></span></code></pre>
</div>
</div>
<p><code class="highlighter-rouge">9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88</code><span><span>通过搜索</span><span>指纹</span><span>的后8个字符,</span><span>验证您现在是否拥有带有指纹的密钥&nbsp;</span><span>。</span></span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo apt-key fingerprint 0EBFCD88

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint <span class="o">= 9DC8 5822 9FC7 DD38 854AE2D8 8D81 803C 0EBF CD88
uid                  Docker Release <span class="o">(CE deb<span class="o">) &lt;docker@docker.com&gt;
sub   4096R/F273FCD8 2017-02-22
</span></span></span></span></span></code></pre>
</div>
</div>
</li>
<li>
<p><span>使用以下命令来设置</span>稳定的<span><span>存储库。</span><span>要添加&nbsp;</span></span>夜间<span>或</span>测试<span><span>存储库,请</span><span>在以下命令中</span><span>的单词后面</span><span>添加</span></span><code class="highlighter-rouge">nightly</code><span>或</span><code class="highlighter-rouge">test</code><span>(或两者)</span><code class="highlighter-rouge">stable</code><span>。</span><span><span>了解</span></span><span><span>每晚</span></span><span><span>和</span></span><span><span>测试</span></span><span><span>频道</span></span><span>。</span></p>
<blockquote>
<p>注意<span>:下面的</span><code class="highlighter-rouge">lsb_release -cs</code><span>子命令返回Debian发行版的名称,例如</span><code class="highlighter-rouge">helium</code><span><span>。</span><span>有时,在诸如BunsenLabs Linux的发行版中,您可能需要更改</span></span><code class="highlighter-rouge">$(lsb_release -cs)</code><span><span>&nbsp;为父Debian发行版。</span><span>例如,如果您使用&nbsp;</span></span><code class="highlighter-rouge">BunsenLabs Linux Helium</code><span>,则可以使用</span><code class="highlighter-rouge">stretch</code><span><span>。</span><span>Docker对未经测试和不受支持的Debian发行版不提供任何保证。</span></span></p>
</blockquote>
<ul class="nav nav-tabs">
<li class="active"><span>x86_64 / amd64</span></li>
</ul>
<div class="tab-content">
<div id="x86_64_repo" class="tab-pane fade in active">
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo add-apt-repository <span class="se">\
   <span class="s2">"deb https://download.docker.com/linux/debian <span class="se">\<span class="s2">
   <span class="k">$(lsb_release <span class="nt">-cs<span class="k">)<span class="s2"> <span class="se">\<span class="s2">
   stable"
</span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
</li>
</ol>
<h4 id="install-docker-engine"><span>安装DOCKER引擎</span></h4>
<blockquote>
<p>注意<span>:此过程适用于</span><code class="highlighter-rouge">x86_64</code><span>/&nbsp;</span><code class="highlighter-rouge">amd64</code><span><span>,Debian ARM或Raspbian&nbsp;</span><span>上的</span><span>Debian。</span></span></p>
</blockquote>
<ol>
<li>
<p><span>更新</span><code class="highlighter-rouge">apt</code><span>程序包索引,并安装</span><em>最新版本</em><span>的Docker Engine和容器,或转到下一步以安装特定版本:</span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code> <span class="nv">$ <span class="nb">sudo apt-get update
<span class="nv">$ <span class="nb">sudo apt-get install docker-ce docker-ce-cli containerd.io
</span></span></span></span></code></pre>
</div>
</div>
<blockquote>
<p><span>有多个Docker存储库吗?</span></p>
<p><span>如果您启用了多个Docker存储库,则在未在</span><code class="highlighter-rouge">apt-get install</code><span>or&nbsp;</span><code class="highlighter-rouge">apt-get update</code><span><span>命令中</span><span>指定版本的情况下进行安装或更新将</span><span>始终安装可能的最高版本,这可能不适合您的稳定性需求。</span></span></p>
</blockquote>
</li>
<li>
<p><span>要安装</span><em>特定版本</em><span>的Docker Engine,请在存储库中列出可用版本,然后选择并安装:</span></p>
<p><span><span>一个。</span><span>列出您的仓库中可用的版本:</span></span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ apt-cache madison docker-ce

docker-ce | 5:18.09.1~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~debian      | https://download.docker.com/linux/debian stretch/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~debian      | https://download.docker.com/linux/debian stretch/stable amd64 Packages
...
</span></code></pre>
</div>
</div>
<p><span><span>b。</span><span>使用第二列中的版本字符串安装特定版本,例如</span></span><code class="highlighter-rouge">5:18.09.1~3-0~debian-stretch&nbsp;</code><span>。</span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo apt-get install docker-ce<span class="o">=&lt;VERSION_STRING&gt; docker-ce-cli<span class="o">=&lt;VERSION_STRING&gt; containerd.io
</span></span></span></span></code></pre>
</div>
</div>
</li>
<li>
<p><span>通过运行</span><code class="highlighter-rouge">hello-world</code><span><span>&nbsp;映像来</span><span>验证是否正确安装了Docker Engine&nbsp;</span><span>。</span></span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo docker run hello-world
</span></span></code></pre>
</div>
</div>
<p><span><span>此命令下载测试图像并在容器中运行。</span><span>容器运行时,它会打印参考消息并退出。</span></span></p>
</li>
</ol>
<p><span><span>Docker Engine已安装并正在运行。</span><span>该</span></span><code class="highlighter-rouge">docker</code><span><span>组已创建,但未添加任何用户。</span><span>您需要使用</span></span><code class="highlighter-rouge">sudo</code><span><span>来运行Docker命令。</span><span>继续进行</span></span>Linux后安装,<span>以允许非特权用户运行Docker命令以及其他可选配置步骤。</span></p>
<h4 id="upgrade-docker-engine"><span>升级DOCKER引擎</span></h4>
<p><span>要升级Docker Engine,请先运行</span><code class="highlighter-rouge">sudo apt-get update</code><span>,然后按照&nbsp;</span>安装说明进行操作<span>,选择要安装的新版本。</span></p>
<h3 id="install-from-a-package"><span>从软件包安装</span></h3>
<p><span>如果您不能使用Docker的存储库来安装Docker Engine,则可以下载</span><code class="highlighter-rouge">.deb</code><span><span>要发布</span><span>的&nbsp;</span><span>文件并手动安装。</span><span>每次升级Docker时,都需要下载一个新文件。</span></span></p>
<ol>
<li>
<p><span>转到</span><code class="highlighter-rouge">https://download.docker.com/linux/debian/dists/</code><span>,选择你的Debian版本,然后浏览</span><code class="highlighter-rouge">pool/stable/</code><span>,选择</span><code class="highlighter-rouge">amd64</code><span>,&nbsp;</span><code class="highlighter-rouge">armhf</code><span>或</span><code class="highlighter-rouge">arm64</code><span>并下载</span><code class="highlighter-rouge">.deb</code><span>文件要安装泊坞窗版本。</span></p>
<blockquote>
<p>注意<span>:要安装</span>夜间<span>或</span>测试<span>(预发布)软件包,</span><code class="highlighter-rouge">stable</code><span><span>请将上述URL中</span><span>的单词更改</span><span>为</span></span><code class="highlighter-rouge">nightly</code><span>或</span><code class="highlighter-rouge">test</code><span>。&nbsp;</span><span><span>了解</span></span><span><span>每晚</span></span><span><span>和</span></span><span><span>测试</span></span><span><span>频道</span></span><span>。</span></p>
</blockquote>
</li>
<li>
<p><span>安装Docker Engine,将下面的路径更改为您下载Docker软件包的路径。</span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo dpkg <span class="nt">-i /path/to/package.deb
</span></span></span></code></pre>
</div>
</div>
<p><span>Docker守护程序会自动启动。</span></p>
</li>
<li>
<p><span>通过运行</span><code class="highlighter-rouge">hello-world</code><span><span>&nbsp;映像来</span><span>验证是否正确安装了Docker Engine&nbsp;</span><span>。</span></span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo docker run hello-world
</span></span></code></pre>
</div>
</div>
<p><span><span>此命令下载测试图像并在容器中运行。</span><span>容器运行时,它会打印参考消息并退出。</span></span></p>
</li>
</ol>
<p><span><span>Docker Engine已安装并正在运行。</span><span>该</span></span><code class="highlighter-rouge">docker</code><span><span>组已创建,但未添加任何用户。</span><span>您需要使用</span></span><code class="highlighter-rouge">sudo</code><span><span>来运行Docker命令。</span><span>继续</span></span>执行Linux的安装后步骤,<span>以允许非特权用户运行Docker命令以及其他可选配置步骤。</span></p>
<h4 id="upgrade-docker-engine-1"><span>升级DOCKER引擎</span></h4>
<p><span>要升级Docker Engine,请下载更新的软件包文件,然后重复&nbsp;</span>安装过程<span>,指向新文件。</span></p>
<h3 id="install-using-the-convenience-script"><span>使用便捷脚本</span></h3>
<p><span>Docker在</span>get.docker.com<span>&nbsp;和</span>test.docker.com上<span><span>提供了便利脚本,</span><span>用于将Docker Engine-Community的边缘版本和测试版本快速且非交互地安装到开发环境中。</span><span>脚本的源代码在&nbsp;</span></span><code class="highlighter-rouge">docker-install</code><span><span>存储库中</span></span><span>。&nbsp;</span>不建议在生产环境中使用这些脚本<span>,在使用它们之前,您应该了解潜在的风险:</span></p>
<ul>
<li><span><span>脚本需要</span><span>运行</span></span><code class="highlighter-rouge">root</code><span>或具有</span><code class="highlighter-rouge">sudo</code><span><span>特权。</span><span>因此,在运行脚本之前,应仔细检查和审核脚本。</span></span></li>
<li><span><span>这些脚本尝试检测Linux发行版和版本,并为您配置软件包管理系统。</span><span>此外,脚本不允许您自定义任何安装参数。</span><span>从Docker的角度或您自己组织的准则和标准的角度来看,这可能导致不支持的配置。</span></span></li>
<li><span><span>这些脚本将安装软件包管理器的所有依赖关系和建议,而无需进行确认。</span><span>这可能会安装大量软件包,具体取决于主机的当前配置。</span></span></li>
<li><span>该脚本未提供用于指定要安装哪个版本的Docker的选项,而是安装了在“ edge”通道中发布的最新版本。</span></li>
<li><span>如果已经使用其他机制将Docker安装在主机上,请不要使用便捷脚本。</span></li>
</ul>
<p><span>本示例使用</span>get.docker.com<span><span>上</span><span>的脚本在</span><span>Linux</span><span>上安装最新版本的Docker Engine-Community。</span><span>要安装最新的测试版本,请改用</span></span>test.docker.com<span><span>。</span><span>在下面的每个命令,取代每次出现</span></span><code class="highlighter-rouge">get</code><span>用</span><code class="highlighter-rouge">test</code><span>。</span></p>
<blockquote class="warning">
<p>警告<span>:</span></p>
<p><span>在本地运行它们之前,请务必检查从Internet下载的脚本。</span></p>
</blockquote>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ curl <span class="nt">-fsSL https://get.docker.com <span class="nt">-o get-docker.sh
<span class="nv">$ <span class="nb">sudo sh get-docker.sh

&lt;output truncated&gt;
</span></span></span></span></span></code></pre>
</div>
</div>
<p><span>如果要使用Docker作为非root用户,则现在应考虑使用类似以下方式将用户添加到“ docker”组:</span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nb">sudo usermod <span class="nt">-aG docker your-user
</span></span></code></pre>
</div>
</div>
<p><span>请记住注销并重新登录才能生效!</span></p>
<blockquote class="warning">
<p>警告<span>:</span></p>
<p><span><span>将用户添加到“Docker”组后,他们可以运行容器,这些容器可用于在Docker主机上获得root特权。</span><span>&nbsp;有关更多信息,</span><span>请参考&nbsp;</span></span>Docker Daemon Attack Surface<span>。</span></p>
</blockquote>
<p><span><span>Docker Engine-社区已安装。</span><span>它会自动在</span></span><code class="highlighter-rouge">DEB</code><span><span>基于发行版的</span><span>系统上启动</span><span>。</span><span>在&nbsp;</span></span><code class="highlighter-rouge">RPM</code><span>基于发行版的系统上,您需要使用相应的</span><code class="highlighter-rouge">systemctl</code><span>或</span><code class="highlighter-rouge">service</code><span><span>命令</span><span>手动启动它&nbsp;</span><span>。</span><span>如消息所示,默认情况下,非root用户不能运行Docker命令。</span></span></p>
<blockquote>
<p>注意事项<span>:</span></p>
<p><span>要安装没有root特权</span>的Docker<span><span>,请参阅&nbsp;</span><span>以非root用户身份运行Docker守护程序(无根模式)</span><span>。</span></span></p>
<p><span>无根模式目前可作为实验功能。</span></p>
</blockquote>
<h4 id="upgrade-docker-after-using-the-convenience-script"><span>使用便捷脚本后升级DOCKER</span></h4>
<p><span><span>如果使用便捷脚本安装了Docker,则应直接使用包管理器升级Docker。</span><span>重新运行便利程序脚本没有任何好处,如果尝试重新添加已经添加到主机的存储库,则可能导致问题。</span></span></p>
<h2 id="uninstall-docker-engine"><span>卸载Docker&nbsp;</span></h2>
<ol>
<li>
<p><span>卸载Docker Engine,CLI和Containerd软件包:</span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo apt-get purge docker-ce docker-ce-cli containerd.io
</span></span></code></pre>
</div>
</div>
</li>
<li>
<p><span><span>主机上的映像,容器,卷或自定义配置文件不会自动删除。</span><span>要删除所有图像,容器和卷:</span></span></p>
<div class="language-bash highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nv">$ <span class="nb">sudo rm <span class="nt">-rf /var/lib/docker
</span></span></span></code></pre>
</div>
</div>
</li>
</ol>
<p><span>您必须手动删除所有已编辑的配置文件。</span></p>
<p><span>以上内容转自官方,方便自己学习!</span></p>

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:mikigo,转载请注明原文链接:https://www.cnblogs.com/mikigo/p/13327868.html</p><br><br>
来源:https://www.cnblogs.com/mikigo/p/13327868.html
頁: [1]
查看完整版本: 在Debian上安装Docker Engine