docker入门-服务器安装mongodb

177 阅读2分钟

1.连接上我的阿里云,默认进入到root目录 docker info

image.png 这里更改镜像加速:

sudo mkdir -p /etc/docker 
sudo tee /etc/docker/daemon.json <<-'EOF'
{ 
"registry-mirrors": ["阿里镜像加速器地址"] 
} 
EOF 
sudo systemctl daemon-reload
sudo systemctl restart docker

2.查看已有的镜像:

image.png

3.安装mongodb数据库 以下步奏来之hub.docker.com/ docker官方镜像网站搜索mongo 3.1 docker pull mongo:4.4.10 拉取镜像 image.png

docker images 查看已经有的镜像文件 image.png 3.2 运行容器: www.runoob.com/docker/dock…

docker run -itd --name jevy_mongo -p 27017:27017 mongo --auth

image.png 总结 : 直接运行的时候 会直接拉取最新的版本,现在我有了mongo 两个版本的镜像文件, 正在运行的 docker 容器 使用的事latest版本。 没办法,我得先将容器jevy_mongo 停止,并删除 docker stop 容器名称 image.png docker rm 容器名称 image.png

3.3 重新运行容器 docker run -itd --name jevy_mongo4 -p 27017:27017 mongo:4.4.10 --auth

image.png 3.4 删除前面拉取的mongodb latest版本 docker rmi 镜像ID 3.5 进入 运行的容器 jevy_mongo4 docker exec -it jevy_mongo4 mongo admin

image.png 接着使用以下命令添加用户和设置密码,并且尝试连接。 db.createUser({ user:'admin',pwd:'112244',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]}); image.png 以上作为熟悉操作:下面才是实际应用 4. 此时我在本地是无法访问云服务器的mongo服务的
有了镜像文件,我们就可以创建容器,并对数据量进行持久化,容器数据卷 我将上面的jevy_mongo4 的容器删除 docker run --name jevy_mongo -p 27017:27017 -v /home/mongo/jevy_mongo:/data/db -d mongo:4.4.10 数据卷的名称(在阿里云宿主机)上的名称必须与容器的名称保持一致,docker会自动创建

image.png image.png 5.进入创建的新容器:

docker exec -it jevy_mongo /bin/bash
-it 代表 打开一个交互命令窗口 接下来就是mongodb的熟悉操作了 image.png 接下来就是用本地连接阿里云的mongodb数据库了。 6. 在阿里云 服务器中开放27017 端口

image.png 然后就连接上了 阿里云服务器的 mongodb数据库了

image.png

  1. 这样的数据库是很不安全的,直接暴露了, 创建登录 用户名:

image.png 设置好了,重启一下容器: docker restart jevy_mongo 8. 设置 了用户名 还是直接可以链接上

image.png 暂时不知道如何解决直接暴露IP就能连接到mongodb的问题