1首先拉去镜像
sudo docker run -itd --name mongo -p 27017:27017 mongo
2尝试在docker进入数据库
sudo docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]})
# 尝试使用上面创建的用户信息进行连接。
db.auth('admin', '123456')
#创建test表
db.createCollection('test')
3尝试用node.js连接
.env
PORT=5000
MONGO_URL="mongodb://localhost:27017/test"
index.js
const express = require("express");
const cors = require("cors");
const mongoose = require("mongoose");
// const authRoutes = require("./routes/auth");
// const messageRoutes = require("./routes/messages");
const app = express();
const socket = require("socket.io");
require("dotenv").config();
mongoose
.connect(process.env.MONGO_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => {
console.log("DB Connetion Successfull");
})
.catch((err) => {
console.log(err.message);
});
测试成功
3打包镜像
打包容器成镜像
sudo docker commit -m="add test db " -a="ytc" e4e916b1d654 yutianchi/mymongo:1.0
4上传dockerhub
sudo docker login -u yutianchi
sudo docker push yutianchi/mymongo:1.0
上传成功
5运行镜像
sudo docker run -itd -p 27017:27017 yutianchi/mymongo:1.0