Score:0

วิธีเชื่อมต่อแบ็กเอนด์กับคอนเทนเนอร์นักเทียบท่า mongodb

ธง cn

ฉันสร้างไฟล์ docker-compose ตามที่เขียนบน docker hub / mongodb จากนั้นฉันใช้คำสั่ง นักเทียบท่าเขียนขึ้น -d ซึ่งเป็นมาตรฐานที่ค่อนข้างดีในการเปิดคอนเทนเนอร์

# ใช้ root/example เป็นข้อมูลรับรองผู้ใช้/รหัสผ่าน
รุ่น: '3.1'

บริการ:

  มองโก:
    ภาพ: mongo
    รีสตาร์ท: เสมอ
    สิ่งแวดล้อม:
      MONGO_INITDB_ROOT_USERNAME: ราก
      MONGO_INITDB_ROOT_PASSWORD: ตัวอย่าง

  mongo-express:
    ภาพ: mongo-express
    รีสตาร์ท: เสมอ
    พอร์ต:
      - 8081:8081
    สิ่งแวดล้อม:
      ME_CONFIG_MONGODB_ADMINUSERNAME: ราก
      ME_CONFIG_MONGODB_ADMINPASSWORD: ตัวอย่าง
      ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/

bf4a595a508d mongo-express "tini -- /docker-entâ¦" ประมาณหนึ่งชั่วโมงที่แล้ว Up ประมาณหนึ่งชั่วโมง 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp intake-app_mongo-express_1
b5fcc2d2386d mongo "docker-entrypoint.sâ¦" ประมาณหนึ่งชั่วโมงที่แล้ว Up ประมาณหนึ่งชั่วโมง 27017/tcp intake-app_mongo_1

ตอนนี้ฉันกำลังพยายามเชื่อมต่อแบ็กเอนด์กับมัน

ด้วย postresql มันจะเป็นอย่างนั้น postgresql://root:example@localhost:8081/db_name

มันจะเป็นอย่างไรกับ mongo ?

PS: ฉันสามารถเชื่อมต่อกับ db ในเว็บเบราว์เซอร์ของฉันที่ http://localhost:8081 แต่ฉันไม่สามารถเชื่อมต่อกับ db จากบรรทัดคำสั่งด้วย มองโก.

Michael Hampton avatar
cz flag
คุณมีสตริงการเชื่อมต่อที่ถูกต้องอยู่ใน `docker-compose.yml` แล้ว!
Score:1
ธง cn

จาก หน้าฮับนักเทียบท่าอย่างเป็นทางการ:

เซิร์ฟเวอร์ MongoDB ในภาพรับฟังพอร์ต MongoDB มาตรฐาน 27017 ดังนั้นการเชื่อมต่อผ่านเครือข่าย Docker จะเหมือนกับการเชื่อมต่อกับ Mongod ระยะไกล

คุณไม่ได้ระบุว่าคุณเชื่อมต่อจากที่ไหนและอย่างไร หากเป็นคอนเทนเนอร์อื่น คุณสามารถใช้พอร์ตโดยตรง มิฉะนั้น คุณต้องเปิดเผยก่อน

สำหรับสตริงการเชื่อมต่อโดยทั่วไปจะมาจาก เอกสารอย่างเป็นทางการ:

mongo mongodb://$[hostlist]/$[database]?authSource=$[authSource] --ชื่อผู้ใช้ $[ชื่อผู้ใช้]

คุณยังสามารถใช้ mongo-express คอนเทนเนอร์ที่คุณใช้เพื่อรับรายละเอียดด้านบนหรือจากฮับนักเทียบท่า README ดังนั้นในกรณีของคุณ:

mongodb://root:example@mongo:27017/

หากไคลเอนต์ของคุณไม่ได้อยู่ในคอนเทนเนอร์นักเทียบท่าในสแต็กเดียวกัน คุณต้องเปิดเผยพอร์ต 27017 ตั้งแต่ครั้งแรก มองโกบ คอนเทนเนอร์:

พอร์ต:
    - "27017:27017"
Pierre Lovergne avatar
cn flag
ลืมเปิดพอร์ท..ขอบคุณมากครับ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา