避坑!!!docker安装mongodb及配置用户权限
<h1>安装docker</h1><p>此文是在ubuntu虚拟机下安装docker:</p>
<p>命令如下:</p>
<div class="cnblogs_code">
<pre>1<span style="color: rgba(0, 0, 0, 1)">、更新apt包
apt</span>-<span style="color: rgba(0, 0, 0, 1)">get update
</span>2<span style="color: rgba(0, 0, 0, 1)">、安装以下包让apt可以通过HTTPS使用存储库
sudo apt</span>-get install -y apt-transport-https ca-certificates curl software-properties-<span style="color: rgba(0, 0, 0, 1)">common
</span>3<span style="color: rgba(0, 0, 0, 1)">、添加Docker官方的GPG密钥:
curl </span>-fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4<span style="color: rgba(0, 0, 0, 1)">、设置stable存储库:
sudo add</span>-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>
5<span style="color: rgba(0, 0, 0, 1)">、再次更新apt包
sudo apt</span>-<span style="color: rgba(0, 0, 0, 1)">get update
</span>6<span style="color: rgba(0, 0, 0, 1)">、安装最新版的docker ce:
sudo apt</span>-get install -y docker-<span style="color: rgba(0, 0, 0, 1)">ce
</span>7<span style="color: rgba(0, 0, 0, 1)">、最后验证docker状态:
service docker status</span></pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/1853665/202005/1853665-20200528144344878-1878690009.png"></p>
<p> </p>
<h1>安装mongodb</h1>
<p> 1、先查找mongo,执行命令:</p>
<div class="cnblogs_code">
<pre>docker search mongo</pre>
</div>
<p>2、拉取mongo最新镜像,执行命令:</p>
<div class="cnblogs_code">
<pre>docker pull mongo</pre>
</div>
<p>3、查看本地镜像,执行命令:</p>
<div class="cnblogs_code">
<pre>docker images</pre>
</div>
<p>可查看到mongo镜像</p>
<p><img src="https://img2020.cnblogs.com/blog/1853665/202005/1853665-20200528145050171-692481005.png"></p>
<p> </p>
<h1> 运行mongo容器并设置用户</h1>
<p>这里采用的是官网的方法,初始化时并设置账号密码</p>
<p>在这里强烈建议大家,一定要去看官方文档:https://hub.docker.com/_/mongo,网上一堆设置太多坑,不说了都是泪</p>
<div class="cnblogs_code">
<pre>docker run -d-p 27017:27017 --network somework --<span style="color: rgba(0, 0, 0, 1)">name mongodb \
</span>-e MONGO_INITDB_ROOT_USERNAME=<span style="color: rgba(0, 0, 0, 1)">用户名 \
</span>-e MONGO_INITDB_ROOT_PASSWORD=密码<span style="color: rgba(0, 0, 0, 1)"> \
mongo</span></pre>
</div>
<p>参数注解:</p>
<p>--network:将容器连接到网络,这里是我创建了一个网络:somework,</p>
<p>创建网络格式为:<span class="hljs-attribute">docker network create 网络名称(默认自动创建为bridge模式)</span></p>
<p><span class="hljs-attribute">查看网络信息可使用命令:<span class="hljs-attribute">docker network ls</span></span></p>
<p>-p:匹配端口,宿主机端口:镜像端口</p>
<p>--name:命名容器名称</p>
<p>-d:设置后台运行容器</p>
<p> </p>
<p>查看运行的容器,执行命令:</p>
<div class="cnblogs_code">
<pre>docker ps</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/1853665/202005/1853665-20200528151204437-365075981.png"></p>
<p> </p>
<p> </p>
<p>进入容器,执行命令:</p>
<div class="cnblogs_code">
<pre>docker <span style="color: rgba(0, 0, 255, 1)">exec</span> -it 容器ID bash</pre>
</div>
<p>进入后执行命令查看是否连接mongodb成功</p>
<div class="cnblogs_code">
<pre>mongo 127.0.0.1:27017 -u <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">username</span><span style="color: rgba(128, 0, 0, 1)">'</span> -p <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(128, 0, 0, 1)">'</span> --authenticationDatabase <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">admin</span><span style="color: rgba(128, 0, 0, 1)">'</span></pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/1853665/202005/1853665-20200528152016281-1312757678.png"></p>
<p> </p>
<p> </p>
<p>重点来了!!!</p>
<p>在本地机使用可视化工具robomongo连接,使用宿主机IP和数据库端口号,填写配置的账号密码,但一直报错权限问题,如下图:</p>
<p><img src="https://img2020.cnblogs.com/blog/1853665/202005/1853665-20200528152527676-1247437870.png"></p>
<p> </p>
<p> 然后开始怀疑自我,检查了防火墙、端口映射问题,同局域网ping问题,</p>
<p>数据库版本是4.2.7,最后下载了一个高版本的可视化工具Robo 3T,居然可以连接上了,嗯,就这么神奇</p>
<p>可视化工具官网Robo 3T:</p>
<p>https://robomongo.org/download</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/nimantou/p/12981243.html
頁:
[1]