初学docker踩坑记(win10+docker社区版19.03.5)

      这几天在学docker,遇到一些问题,故在此记录(真的不是想打广告)。

在power shell中使用docker pull mongo命令下载mongo镜像:

初学docker踩坑记(win10+docker社区版19.03.5)_第1张图片

当时下下来的mongo镜像有11G,正常的话应该是三百多M。

不知道为什么,用的是正确的命令,在网上找也没有答案。镜像地址配置的国内源(虽然有同学反映官方源其实也很快,不过当时网速比较慢,没办法):

初学docker踩坑记(win10+docker社区版19.03.5)_第2张图片

教程中配置的也是这个地址,只是他这边是mac版的docker desktop:

初学docker踩坑记(win10+docker社区版19.03.5)_第3张图片

 

下载完之后,使用docker run --name mongo -p 27017:27017 -v mongodata:/data/db -d mongo启动mongo,遇到各种报错(这里就不分别说了。主要是文件挂载问题,可以参考这篇文章:http://www.moguf.com/post/windockerrunmongo,另外再提一句,如果用的是Windows Container,虚拟磁盘在C:\ProgramData\Docker\volumes在,C:\ProgramData\Docker下的文件夹和文件不要轻易删除,否则会无法启动容器),然后又删除镜像,又下载了一次,还是11G,启动mongo后,输入命令docker exec -it mongo bash进入mongo终端,发现无法连接,Auth failed:

 

后面我想到我这边Container是Windows Container(右键鲸鱼图标):

初学docker踩坑记(win10+docker社区版19.03.5)_第4张图片

于是想会不会可能跟这个有关(也可以切换到Liunx Container),当时一狠心,卸载了docker再次安装,安装完毕后:

初学docker踩坑记(win10+docker社区版19.03.5)_第5张图片

默认是Liunx Container。对的,就是这里有个坑,使用Linux Container

初学docker踩坑记(win10+docker社区版19.03.5)_第6张图片

Resource是容器的配置,建议不要修改:

初学docker踩坑记(win10+docker社区版19.03.5)_第7张图片

File Sharing,选择一个磁盘绑定到docker容器:

初学docker踩坑记(win10+docker社区版19.03.5)_第8张图片

想到之前的docker镜像不对,未找到原因,在网上找了下,有人说指定版本,docker pull mongo:3.2,我就下了3.2的:

跑起来之后,输入命令mongo进入mongo终端

初学docker踩坑记(win10+docker社区版19.03.5)_第9张图片

切换admin库:
初学docker踩坑记(win10+docker社区版19.03.5)_第10张图片

新建管理员用户。因为mongo默认是没有开启auth验证的,也没有用户,需要建一个用户:

初学docker踩坑记(win10+docker社区版19.03.5)_第11张图片

对用户授权,1 代表授权验证成功:

使用命令mongo -u "username" -p "password" --authenticationDatabase "db",指定用户名和密码登录到某个数据库:

可能会默认连接到test,然后使用use dbname,切换到指定库:

初学docker踩坑记(win10+docker社区版19.03.5)_第12张图片

过几天我又重新使用docker pull mongo,又正常了,不知道什么原因。浪费我2天时间,我真是气死了:

你可能感兴趣的:(工具)