2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
import{_ as s,c as a,a as e,o as t}from"./app-Bph9hmvC.js";const h={};function n(l,i){return t(),a("div",null,[...i[0]||(i[0]=[e('<p>本教程将介绍如何使用 Docker 快速部署一个 MongoDB 实例。</p><h2 id="在-ubuntu-上部署-mongodb-4-2-实例" tabindex="-1"><a class="header-anchor" href="#在-ubuntu-上部署-mongodb-4-2-实例"><span>在 Ubuntu 上部署 MongoDB:4.2 实例</span></a></h2><p>我们先拉取 MongoDB:4.2 镜像:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">docker</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> pull</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> mongo:4.2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>创建一个目录用于存储 MongoDB 数据:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">mkdir</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -p</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> /data/mongo/</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>启动 MongoDB 容器:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">sudo</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> docker</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> run</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> --restart=always</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -itd</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> --name</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> mongo</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -p</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> 27018:27017</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -v</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> /data/mongo/:/data/db</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> mongo:4.2</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> --auth</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>命令详解:</p><ul><li><code>--restart=always</code>:容器重启时自动启动。</li><li><code>-itd</code>:交互式模式运行容器,后台模式。</li><li><code>--name mongo</code>:为容器命名为 mongo。</li><li><code>-p 27018:27017</code>:将主机的 27018 端口映射到容器的 27017 端口。</li><li><code>-v /data/mongo/:/data/db</code>:将主机的 /data/mongo/ 目录挂载到容器的 /data/db 目录,用于持久化存储数据。</li><li><code>mongo:4.2</code>:使用 MongoDB:4.2 镜像。</li><li><code>--auth</code>:启用身份验证功能。</li></ul><p>进入 MongoDB 容器:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">docker</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> exec</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -it</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> mongo</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> mongo</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> admin</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="在-mongodb-容器中创建管理员用户" tabindex="-1"><a class="header-anchor" href="#在-mongodb-容器中创建管理员用户"><span>在 MongoDB 容器中创建管理员用户</span></a></h3><p>先进入 admin 数据库</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">use</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> admin</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>创建管理员用户 admin, 密码 root, 角色为 root。</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">db.createUser(</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> {</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> user:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">root</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">,</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> pwd:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">root</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">,</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> roles:[</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">root</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">]</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> }</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>退出 MongoDB 容器:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">exit</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>使用 root 用户进行登录</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">docker</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> exec</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -it</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> mongo</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> mongo</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> admin</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -u</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> root</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -p</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> root</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>这里还能创建一个 admin 用户,用密码 admin,角色为 readWriteAnyDatabase, dbAdminAnyDatabase。</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">db.createUser(</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> {</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> user:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">admin</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">,</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> pwd:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">admin</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">,</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> roles:[</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">readWriteAnyDatabase</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">dbAdminAnyDatabase</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">]</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> }</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> )</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>验证用户,这里会登录到 admin</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">db.auth(</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">"admin"</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">,</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">"admin"</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>删除用户的话可以使用,注意这里要切换回 root 用户</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">db.dropUser(</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">"admin"</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div>',27)])])}const k=s(h,[["render",n]]),r=JSON.parse('{"path":"/ops/docker/db/mongodb/","title":"使用 Docker 部署 MongoDB","lang":"zh-CN","frontmatter":{"title":"使用 Docker 部署 MongoDB","createTime":"2025/12/24 16:34:00","permalink":"/ops/docker/db/mongodb/","description":"本教程将介绍如何使用 Docker 快速部署一个 MongoDB 实例。 在 Ubuntu 上部署 MongoDB:4.2 实例 我们先拉取 MongoDB:4.2 镜像: 创建一个目录用于存储 MongoDB 数据: 启动 MongoDB 容器: 命令详解: --restart=always:容器重启时自动启动。 -itd:交互式模式运行容器,后台模...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"使用 Docker 部署 MongoDB\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/docker/db/mongodb/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"使用 Docker 部署 MongoDB"}],["meta",{"property":"og:description","content":"本教程将介绍如何使用 Docker 快速部署一个 MongoDB 实例。 在 Ubuntu 上部署 MongoDB:4.2 实例 我们先拉取 MongoDB:4.2 镜像: 创建一个目录用于存储 MongoDB 数据: 启动 MongoDB 容器: 命令详解: --restart=always:容器重启时自动启动。 -itd:交互式模式运行容器,后台模..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":1.17,"words":352},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ops/docker/mongodb.md","headers":[]}');export{k as comp,r as data};
|