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

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

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

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

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

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

 

下载完之后,使用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(右键鲸鱼图标):

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

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

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

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

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

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

切换admin库:

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

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

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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值