本文档将详细介绍如何通过Docker容器化方式部署MONGO-EXPRESS,包括环境准备、镜像拉取、容器配置、功能测试及生产环境优化建议,所有操作基于轩辕镜像加速服务以确保国内环境下的高效部署。 参考文档:https://xuanyuan.cloud/r/library/mongo-express环境准备Docker环境安装部署MONGO-EXPRESS前需确保服务器已安装Docker环境,推荐使用轩辕提供的一键安装脚本 专用配置前缀,具体变量见下文配置表与MongoDB容器联动部署通过Docker网络实现MONGO-EXPRESS与MongoDB容器的隔离通信,安全性更高:创建专用网络:展开代码语言:BashAI代码解释 /tagsDocker相关资源https://docs.docker.comhttps://docs.docker.com/compose总结本文详细介绍了MONGO-EXPRESS的Docker容器化部署方案 关键要点环境准备:使用轩辕一键脚本快速部署Docker环境,自动配置镜像加速镜像拉取:根据多段镜像名规则,使用xxx.xuanyuan.run/library/mongo-express:latest拉取镜像容器配置
MongoDB 是一种面向文档的、介于关系型数据库和非关系型数据库的系统,Mongo-Express 则是一款图形化的 MongoDB web 客户端管理工具,使用 Node.js、Express 和 Mongo-Express 当前最新的 MongoDB 版本是 4.1.6,下面使用 Docker 简单示例下环境搭建: 启动 MongoDB,设置 root用户及密码 docker run ,设置登录用户及密码 docker run -it --restart=always --name mongo-express --link mongodb:mongo-db -d -p 8081 补充:docker network ls可以查看当前所有的 Docker NETWORK 也可以用 Docker Compose 来合并上两步操作: 创建 stack.yml version: ' -f stack.yml up 参考链接 Install Docker Compose Docker Hub - MongoDB Docker Hub - Mongo-Express Cannot
使用docker-compose部署mongo和mongo-express docker-compose.yml version: '3.8' # 使用外部网络 # docker network create server_web-network networks: server_web-network: external: true services: docker-mongo: /data:/data/db networks: - server_web-network mongo-express: image: mongo-express :27017/ networks: - server_web-network 启动服务 docker-compose up -d 访问mongo-express http://localhost /vendor/autoload.php'; $collection = (new MongoDB\Client('mongodb://root:123456@docker-mongo/'))->images
通常,帮朋友部署 WordPress 的这个场景下,你可以找朋友开一台新的服务器,初始化一套 LAMP,直接把 WordPress 给 wget 进去,就可以在你的浏览器里完成配置了。 但是,前两天我需要在自己的服务器上部署一个 WordPress 服务。我这样的蒟蒻当然是无缘使用世界上最好的编程语言—— PHP 的啦。没有 PHP,还部署个屁的 WordPress。 所以就想到了—— Docker,用容器去把它装起来就好了嘛。 想到就动手做,接下来我们就看看怎么用 Docker 部署 WordPress。 为了方便,同时也多练习 Docker 的使用,我们干脆再拉一个 mysql 镜像,让整套服务完全在 docker 里运行: $ docker pull mysql:latest 注意,这篇文章写在 2020 (当然,我只是开一个简单的小服务,基本没人用,所以也就几乎没有安全风险,但您在部署的时候还是要花点时间认真考虑安全问题的) 接下来就是在您的浏览器访问 http://xxx:2020/wp-admin/
单节点部署 docker方式部署 创建docker-compose文件 vim docker-compose-mongodb.yml version: '3.1' #与镜像有关,这里只支持3.1 /setup:/docker-entrypoint-initdb.d/ - /data/mongo:/data/db:rw # - /data/mongo_key:/mongo:rw environment: MONGO_INITDB_ROOT_USERNAME: admin # 账号 MONGO_INITDB_ROOT_PASSWORD: 123456 # 密码 mongo-express : #如果不需要MongoDB的网页端,以下内容可以不加 image: mongo-express restart: always ports: - 8081:8081 -f docker-compose-mongodb.yml up -d ---- CentOS/Ubuntu安装 CentOS/RedHat方式安装 创建yum源 vim /etc/yum.repos.d
Service 创建 1、With Label Selector 使用标签选择器创建服务,Service 直接关联 Pod,示例:部署 Mysql (细节见文末附录1),再创建服务: kind: Service 示例: ① 在 minikube 中使用 Docker 启动一个 Mysql 容器(与 Kubernetes 无任何关系) docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD : - image: registry.docker-cn.com/library/mongo-express name: mongo-express ports accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- # 创建部署 accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- # 创建部署
0x03 影响版本 mongo-express < 0.54.0 0x04 环境搭建 使用docker首先搭建MongoDB数据库 docker run --name MyMongo -d mongo :3.2 再搭建一个存在漏洞版本得express并连接到上面得MongoDB docker run -it --rm -p 8081:8081 --link MyMongo:mongo mongo-express 访问本机8081端口,可以看到Mongo-express界面 ? docker-compose up -d 0x05 漏洞复现 使用网上Poc curl 'http://localhost:8081/checkValid' -H 'Authorization: 0x06 修复方式 升级至0.54.0以上版本 参考链接: https://forum.90sec.com/t/topic/685 https://github.com/mongo-express/mongo-express
0x03 影响版本 mongo-express < 0.54.0 0x04 环境搭建 使用docker首先搭建MongoDB数据库 docker run --name MyMongo -d mongo :3.2 再搭建一个存在漏洞版本得express并连接到上面得MongoDB docker run -it --rm -p 8081:8081 --link MyMongo:mongo mongo-express :0.49 看到以下信息即可说明搭建成功 访问本机8081端口,可以看到Mongo-express界面 当然也可以直接使用vulhub git clone https://github.com /vulhub/vulhub.git cd vulhub/mongo-express/CVE-2019-10758 docker-compose up -d 0x05 漏洞复现 使用网上Poc curl /mongo-express/commit/d8c9bda46a204ecba1d35558452685cd0674e6f2
博主还提供了另一种方式,每次发布只需要将打包后的dist内容放到linux主机目录即可,感兴趣的道友可以直接参考这一篇:docker 安装 nginx 发布Vue项目_苍穹之跃的博客-CSDN博客nginx nginx # 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 COPY dist/ /usr/share/nginx/html/ 第三步:安装nginx docker pull nginx docker run --name nginx -d -p 4030:80 nginx 访问4030端口看看是否安装成功。 第四步:linux上找个空目录放项目文件和Dockerfile 第五步:构建镜像,cd到Dockerfile目录下 docker build -t 取个镜像名称 . 第六步:运行容器 docker run --name 取个容器名称 -d -p 9020:80 上一步取的镜像名称 访问一下9020检查是否运行成功。
使用docker部署influxdb 生成默认config.yml docker run \ --rm influxdb:latest \ influxd print-config > config.yml /code/docker-influx/data:/var/lib/influxdb/data - /rssp/code/docker-influx/meta:/var/lib/indluxdb/meta - /rssp/code/docker-influx/wal:/var/lib/indluxdb/wal - /rssp/code/docker-influx/backup/bin:/home/backup - /rssp/code/docker-influx/backup/data:/tmp/backup/data - /rssp/code/docker-influx/backup/gz:/tmp/backup /gz - /etc/localtime:/etc/localtime:ro ports: - "8086:8086" restart: always docker pull influxdb docker-compose
前言: 临时使用数据库时可以使用docker运行,这样可以防止在系统上安装破坏环境,同时使用docker启动会比在系统中安装配置要快速,可以说是最快的方式安装部署并启动数据库。 ---- docker配置启动运行MySQL 首先创建目录并进入 sudo docker run -p 3306:3306 \ --name mymysql \ --restart=always \ 配置启动运行Mongo Express docker run -d \ -p 8002:8081 \ --name mongo-express \ mongo-express ---- docker配置启动运行Redis docker run -d \ -p 6379:6379 \ -v redis-data:/data \ --name redis \ redis - --- docker配置启动运行Elasticsearch docker run -d \ -p 9100:9100 -p 9200:9200 \ -e discovery.type=single-node
获取 mongo 镜像 sudo docker pull mongo 运行 mongodb 服务 sudo docker run -p 27017:27017 -v /tmp/db:/data/db - d mongo 运行 mongodb 客户端 sudo docker run -it mongo mongo --host <宿主机IP地址> --port 27017 > show dbs admin 使用 mongo-express 管理mongodb mongo-express是MongoDB的一个可视化图形管理工具,这里我们还是通过docker来运行一个mongo-express,来管理上面创建的 下载 mongo-express 镜像 sudo docker pull docker.io/mongo-express 启动 mongo-express 服务 sudo docker run -it --rm -p 8081:8081 --link <mongoDB容器ID>:mongo mongo-express 访问 mongo-express 通过浏览器访问 http://<宿主机IP地址>:
③【Docker】Docker部署Nginx docker拉取nginx镜像: docker pull nginx 安装并启动nginx服务: docker run \ --restart always docker操作nginx常用命令: # 注意,Nginx是我安装启动时为这个服务取的名字,若名字不同请使用自己的服务名 #停止: docker stop Nginx #重启: docker restart Nginx #删除服务: docker rm Nginx #删除镜像: docker rmi Nginx #进入服务: docker exec -it Nginx /bin/bash Docker中有几个重要的概念 我们要使用Docker来操作镜像、容器,就必须要安装Docker。 Docker是一个CS架构的程序,由两部分组成: 服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等 客户端(client):通过命令或RestAPI向Docker
up -d 启动部署 在docker部署微服务项目: 1、使用dockerfile构建项目镜像 2、在docker使用生成镜像启动对应服务 服务名称 端口 comment-server 8002 house-server 8011 user-server 8000 esp-zuul 9000 esp-web 7000 comment-server ->user-server 部署用户服务 docker run -d house --link user-server:user -p 8011:8011 house/house 部署评论服务 docker run -d --name comment-server -- hostname comment --link user-server:user -p 8002:8002 house/comment 部署网关 docker run -d --name zuul-server link house-server:house --link user-server:user --link comment-server:comment -p 9000:9000 house/zuul 部署
1、部署前准备 1.检查服务器是否能访问外网 #检查外网连通性 ping 114.114.114.114 #检查DNS服务 ping baidu.com 如果外网通而DNS不通,则需要手动配置DNS ifcfg-ens开头的文件 #将名称换成实际文件名称 cat ifcfg-ens33 查看ONBOOT是否为yes,若不是yes,请修改成yes 5.关闭SElinux 此处内容需要评论回复后方可阅读 2、安装Docker
centos7部署docker 官方参考文档:https://docs.docker.com/engine/install/centos/ 在此提供自己的安装文件: 链接:https://pan.baidu.com /linux/centos/docker-ce.repo #安装docker引擎 sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin sudo docker run hello-world docker-compose安装 1、去下载docker-compose(docker与docker-compose版本要对应,具体的看官网,如果你嫌弃麻烦 v 图片 Windows 部署 docker 1、官网下载docker desktop(先别急安装):https://hub.docker.com 2、确认电脑是否开启hyper -v 搜索栏搜索: 是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作
目录 docker介绍 安装docker Ubuntu安装docker CentOS安装docker 通过脚本安装 拉取java环境 创建springboot项目 打包springboot到docker docker的核心思想是通过对应用的封装、分发、部署、运行生命周期进行管理,达到应用组件级别的“一次性封装,到处运行”。 安装docker 既然docker这么神奇,那我们如何安装docker呢?我们一起来走一下吧。 4.安装完成之后启动docker systemctl start docker 5.重启 systemctl restart docker 6.停止 systemctl stop docker 7.开机自启动 /test docker查看容器的日志 这说明我们已经springboot项目已经启动成功了,到这里docker部署springboot项目差不就结束了,但是你可能还有一个疑问,如果我想看控制台的日志怎么办呢
我的工程设置的本地端口也是8089 6. postman 和浏览器 顺利请求到 gentle 工程中的接口,说明部署成功 7. gentle 工程中接口实现: 部署完啦 ,走,出门溜达溜达,找点吃的去 ... -------------------------------- 2018.11.28 后记,每次改代码都要重新部署依旧很麻烦,于是写了个很简单的脚本,运行就部署。 新镜像构建成功\n\033[0m" # 删除原容器 docker rm -f gentle # 启动容器 docker run -d -p 8089:8089 --name gentle gentle echo -e "\033[32m\n后端工程部署完成\n\033[0m" 运行效果: postman 请求,返回的已经有新接口数据了。 另外:前端工程部署脚本见:前端 vue 工程 Docker 方式部署
入门使用: 必会命令 拉取镜像: docker pull nginx 查看镜像: docker images/docker images nginx 启动镜像(将www目录和nginx/html进行映射 -v $PWD/www:/usr/share/nginx/html nginx 容器存在: docker start <容器ID> 停止容器: docker stop <容器ID> 查看运行进程: docker 启动: docker run -d -p 3000:3000 pm2-koa 3. docker-compose 负责实现对Docker容器集群的快速编排 案例: 编写配置文件: docker-compose.yml # docker-compose.yml mongo + mongo-express version: '3.1' services: mongo: image: mongo restart: always ports: - 27017:27017 mongo-express: image: mongo-express restart: always ports: -
概述 zabbix在docker官方的镜像源中,有维护zabbix公司官方的镜像,我们可以通过hub.docker.com进行下载,搭建docker环境下的zabbix,可以使我们的安装和部署更加快捷。 zabbix的docker镜像源 从这里 zabbix docker镜像源 我们可以打开看到zabbix官方在docker仓库里面维护的镜像源信息。 mysql数据库部署 在部署zabbix服务器前,需要提前部署mysql服务器并且创建好zabbix数据库以及用户 拉取mysql镜像 docker pull mysql 运行mysql服务器 docker ppassword zabbix < /tmp/mysql/images.sql mysql -uzabbix -ppassword zabbix < /tmp/mysql/data.sql zabbix服务器部署 172.17.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -d zabbix/zabbix-server-mysql zabbix-front服务器部署