我正在尝试使用AdminMongo访问docker上的mongo数据库。
这是我的docker-compose.yml
version: '3'
services:
mongo:
image: mongo
volumes:
- ~/data:/data/db
restart: always
expose:
- 6016
adminmongo:
image: mrvautin/adminmongo
expose:
- 1234
links:
- mongo:mongo
当我执行docker-compose up
时,adminmongo还会返回以下内容:AdminMongo_1_544D9A6F954C adminmongo监听主机:http://localhost:1234
以下是Docker PS
给我的回复:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9c27d4a89254 mrvautin/adminmongo "/bin/sh -c 'node ap…" 38 seconds ago Up 33 seconds 1234/tcp iris_adminmongo_1_544d9a6f954c
2a7496a8c56a mongo "docker-entrypoint.s…" 40 minutes ago Up 38 seconds 6016/tcp, 27017/tcp iris_mongo_1_7f00356a3adc
我在这里发现了两个问题:
第一:暴露一个端口是不够的。expose
只是文档,您需要publish
(绑定)一个端口到主机才能访问。是这样做的:
ports:
- 1234:1234
第二:您必须配置AdminMongo
来侦听0.0.0.0
,因为默认情况下,它开始侦听127.0.0.1
,这使得它只能在容器本身内访问。在您的问题中包含的文档页面中,Configuration部分指出,这可以通过传递环境变量来完成:
environment:
- HOST=0.0.0.0
工作示例:
version: '3'
services:
mongo:
image: mongo
volumes:
- ~/data:/data/db
restart: always
expose:
- 6016
adminmongo:
image: mrvautin/adminmongo
ports:
- 1234:1234
environment:
- HOST=0.0.0.0
我有一个docker-compose文件: 但我想知道为什么不和Docker一起工作--组成。
我有一个非常简单的配置docker-complace与和我想用它来托管简单的php网站。 有人能告诉我我做错了什么吗? 这是docker compose。产品名称: 这是网站。prod.conf文件: 我可以编写日志,日志看起来很好,当我运行docker ps时: 然后检查端口,我认为这看起来不错:
我的任务是对接angular应用程序,并使用Nginx提供服务。 我已将angular项目构建到dist文件夹,并希望将此文件夹移动到nginx- 这就是我Docker项目的结构 在这个目录的顶部是一系列其他服务,它们需要与angular应用程序一起运行,而angular应用程序正在按预期运行。用下面的docker编写。yml文件 当我用docker build构建并运行这个容器时,它会按预期运行
主要内容:实例,Compose 安装,使用,composetest/app.py 文件代码,docker-compose.yml 配置文件,yml 配置指令参考Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。 Compose 使用的三个步骤:
使用 Docker Compose,您可以使用一个命令启动本地测试网络。 需求 安装 tendermint 安装 docker 安装 docker-compose 构建 构建 tendermint 二进制文件和可选 tendermint/localnode docker 映像。 注意,二进制文件将被挂载到容器中,因此可以在不重新构建镜像的情况下更新它。 cd $GOPATH/src/github.
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。 本章将介绍 Compose 项目情况以及安装和使用。