Files
build_notes_simengweb/assets/index.html-BVQ7JXti.js
2025-12-25 14:23:30 +08:00

2 lines
15 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as s,c as a,a as e,o as t}from"./app-CQAzKwUf.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;"> &quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">root</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</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;"> &quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">root</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</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;">&#39;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">root</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&#39;</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;"> &quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">admin</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</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;"> &quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">admin</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</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;">&#39;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">readWriteAnyDatabase</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">dbAdminAnyDatabase</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&#39;</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;">&quot;admin&quot;</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">,</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">&quot;admin&quot;</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;">&quot;admin&quot;</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\\":\\"2025-12-25T01:48:06.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":"2025-12-25T01:48:06.000Z"}],["meta",{"property":"article:modified_time","content":"2025-12-25T01:48:06.000Z"}]]},"readingTime":{"minutes":1.17,"words":352},"git":{"createdTime":1766627286000,"updatedTime":1766627286000,"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};