首页 > 数据库 >Docker 运行 MongoDB

Docker 运行 MongoDB

时间:2024-09-25 16:01:57浏览次数:8  
标签:RUN -- MongoDB apt conf mongodb Docker yqq 运行

Docker 运行 MongoDB

实验环境

  • 宿主机:CentOS Stream release 9
  • Docker:Docker Engine 27.3.1
  • MongoDB:7.0.14
  • Mongosh;2.3.1

配置文件

mongod.conf

[karma@localhost karmamongodb]$ cat mongod.conf | grep -vE "#|^$"
storage:
  dbPath: /var/lib/mongodb
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
net:
  port: 27017
  bindIp: 0.0.0.0
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

supervisord.conf

[karma@localhost karmamongodb]$ cat supervisord.conf 
[supervisord]
nodaemon=true

[program:mongodb]
command=/usr/bin/mongod --config /etc/mongodb/mongod.conf

[program:ssh]
command=/usr/sbin/sshd -D

Dockerfile

FROM ubuntu:20.04
RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main universe" > /etc/apt/sources.list
RUN apt -yqq update && apt install -yqq ca-certificates
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main universe" > /etc/apt/sources.lista
RUN apt -yqq update && apt install -yqq supervisor
RUN apt install -yqq openssh-server openssh-client
RUN mkdir -p /var/run/sshd
RUN echo 'root:shiyanlou' | chpasswd
RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN apt install -yqq --allow-downgrades gpgv=2.2.19-3ubuntu2
RUN apt -yqq install gnupg curl
RUN curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
   gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
   --dearmor
RUN echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7.0.list
RUN apt-get -yqq update
RUN apt-get install -yqq mongodb-org
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY mongod.conf /etc/mongodb/mongod.conf
EXPOSE 27017 22
CMD ["supervisord"]

构建镜像

docker image build -t karmamongodb:0.1

运行容器

docker container run -P -d --name mongodb karmamongodb:0.1

查看容器

[karma@localhost karmamongodb]$ docker container ls
CONTAINER ID   IMAGE              COMMAND         CREATED          STATUS          PORTS                                                                                        NAMES
3fb90df4f853   karmamongodb:0.1   "supervisord"   26 minutes ago   Up 26 minutes   0.0.0.0:32794->22/tcp, [::]:32794->22/tcp, 0.0.0.0:32795->27017/tcp, [::]:32795->27017/tcp   mongodb

使用 mongosh 连接数据库

在宿主机上运行:

mongosh --host 127.0.0.1 --port 32795

或者

mongosh --host 172.17.0.2 --port 27017

标签:RUN,--,MongoDB,apt,conf,mongodb,Docker,yqq,运行
From: https://www.cnblogs.com/yangxuanzhi/p/18431540

相关文章

  • docker compose-批量容器编排
    第八章dockercompose三步骤:1.Dockerfile保证我们的项目在任何地方可以运行。2.services什么是服务。docker-compose.yml这个文件怎么写。3.启动项目作用:批量容器编排。compose是docker开源项目,需要安装!Dockerfile让程序在任何地方运行。web服务。redis、MySQL、nginx...多个容器......
  • 编译安装redis运行注册服务脚本sh install_server.sh时报错。
    在编译安装redis的时候,运行注册服务脚本shinstall_server.sh时,报错。WelcometotheredisserviceinstallerThisscriptwillhelpyoueasilysetuparunningredisserverThissystemsseemstousesystemd.Pleasetakealookattheprovidedexampleserviceunitfi......
  • vscode解决运行程序无法从控制台输入问题
    在vscode中运行一些简单的程序代码,需要从控制台接受输入参数,发现不能通过键盘输入。本章教程,提供该问题的解决方法。解决办法由于我是使用的CodeRunner这个插件,CodeRunner插件支持运行多种编程语言,很方便。打开CodeRunner的插件设置,找到一下选项,并勾选即可解决该问题。如果遇......
  • docker笔记_数据卷、挂载
    docker数据存储概述数据卷(Volumes)特点操作绑定挂载(BindMounts)内存挂载(tmpfs)总结概述镜像构建过程中,所产生的layer都是只读层,只有在创建容器时才会生成一个可写的容器层(contatnerlayer)。如下图:在默认情况下,容器内部创建的所有文件都存储在可写层中。这导致:获取......
  • python调用另一个.py文件中的类和函数或直接运行另一个.py文件
    同一文件夹下的调用1.调用函数A.py文件如下:defadd(x,y):print('和为:%d'%(x+y))在B.py文件中调用A.py的add函数如下:importAA.add(1,2)或fromAimportaddadd(1,2)2.调用类A.py文件如下:classA:def__init__(self,xx,yy):self.x=xxself.y=y......
  • 《穿越火线》无法正常运行:穿越火线audiere.dll文件丢失的原因及解决办法分享
    在众多精彩刺激的网络游戏中,《穿越火线》以其紧张激烈的战斗场景和丰富多样的玩法,吸引了无数玩家的热爱。不过有玩家在准备玩游戏时却突然发现游戏无法正常运行,提示audiere.dll文件丢失,这无疑会让人感到十分困惑。别着急,下面就让我们一起来探讨穿越火线audiere.dll文件丢失......
  • MongoDB 双活集群在运营商的实践
    在现代电信行业中,订单中心作为核心业务系统之一,承担着处理客户订单、管理订单状态、与各个业务系统进行交互等重要职责。其订单中心的高效运作直接关系到客户体验和业务连续性。为了满足不断增长的业务需求和日益复杂的运营环境,运营商需要自身的订单中心架构具备高可用性及强大的......
  • Navicat连接Mongodb成功了,但是无法显示数据库怎么办?
    不知道你是否遇到过?Navicat连接Mongodb成功了,但是无法显示数据库怎么办?解决办法这个问题比较坑,对于第一次接触的小伙伴,可能会一脸懵逼,原因就是在Navicat中默认会不显示隐藏的项目,如果不手动勾选上,就无法显示,勾选之后,下次就不用重复勾选了。......
  • ADD failed: file not found in build context or excluded by .dockerignore: stat i
    这个错误信息表明在构建Docker镜像时,Docker守护进程(daemon)在尝试将名为 irap_rule_center 的文件或目录添加到镜像中,但是没有在构建上下文(buildcontext)中找到这个文件或目录,或者这个文件或目录被 .dockerignore 文件忽略了。要解决这个问题,你可以按照以下步骤操作:检查文件......
  • Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-
    安装docker-compose时候。出现错误1、在线拉取太费劲。最后使用的离线安装、、参考内容。.github手动下载文件:https://github.com/docker/compose/releases/tag/1.25.0-rc4选择-86版本的内容将文件上传到/usr/local/bin/目录下,重命名为docker-compose,修改文件权限:chmod+x......