我有一个docker配置,在这里我启动了nginx服务器。现在我必须运行mongo和mongo express才能连接到我的数据库。当我在docker compose中输入这两个的配置时。yml并尝试docker组合,mongo服务启动,但mongo express显示此错误
Could not connect to database using connectionString: mongodb://root:pass@mongodb:27017/" mongo-express_1 | (node:8) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [mongodb:27017] on first connect
非常感谢您的帮助,以下是我的配置。
docker编写。yml公司
version: "3"
services:
app:
build:
context: .
dockerfile: Dockerfile
image: cryptoterminal
container_name: app
restart: unless-stopped
volumes:
- ./:/var/www
webserver:
build:
context: .
dockerfile: Dockerfile_Nginx
image: nginx
container_name: webserver
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./:/var/www
- ./config/nginx/:/etc/nginx/conf.d/
depends_on:
- app
mongo:
image: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=pass
mongo-express:
image: mongo-express
environment:
- ME_CONFIG_MONGODB_SERVER=mongodb
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_MONGODB_ADMINUSERNAME=root
- ME_CONFIG_MONGODB_ADMINPASSWORD=pass
- ME_CONFIG_BASICAUTH_USERNAME=admin
- ME_CONFIG_BASICAUTH_PASSWORD=admin123
depends_on:
- mongo
ports:
- "8888:8081"
Dockerfile文件
FROM php:7.4-fpm-alpine
WORKDIR /var/www
RUN apk update && apk add \
build-base \
vim
RUN addgroup -g 1000 -S www && \
adduser -u 1000 -S www -G www
USER www
COPY --chown=www:www . /var/www
EXPOSE 9000
Dockerfile\u Nginx文件
FROM nginx:alpine
COPY ./config/nginx/app.conf /etc/nginx/conf.d/app.conf
COPY . /var/www
.env文件
MONGO_DB_URI=mongodb://root:pass@mongodb:27017/crypto-terminal?authSource=admin
应用程序。conf文件
server {
listen 80;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
}
文件夹结构
project_folder
php
config
nginx
app.conf
.env
Dockerfile
Dockerfile_Nginx
docker-compose.yml
index.php
在docker compose文件中,调用mongo服务。这是您可以在docker网络上寻址的名称。在你的连接字符串中,你说
mongodb://root:pass@mongodb:27017/"
应该是这样的
mongo://root:pass@mongo:27017/"
由于连接字符串是使用docker compose文件中的环境变量构建的,因此需要更改的是
- ME_CONFIG_MONGODB_SERVER=mongodb
到
- ME_CONFIG_MONGODB_SERVER=mongo
我有一个案例,需要sqoop连接到远程ipaddress mysql。我可以通过启动以下命令从putty连接到mysql: mysql-u ro-p-h x.x.x.x-p 4307订单-启用明文插件 但是,我无法从sqoop连接到远程ip:x.x.x.x我收到通信链路故障错误。我认为此错误的原因可能是:SSL证书在连接到远程服务器时过期。下面是生成的错误日志。即使我在sqoop中关闭了ssl选项
elasticsearch.yml: graylog2.conf: 我正在尝试安装在我的apache本地主机中。 我已经学习了https://www.digitalocean.com/community/tutorials/how-to-install-graylog2-and-centralize-logs-on-ubuntu-14-04教程 输出:2016-01-18 18:45:53,221
早上好,我是spring boot的新手,我正在构建一个SOAP服务,该服务允许查询ORACLE数据库(该数据库位于容器中),但我面临以下无法解决的错误: 应用程序启动失败 描述: SpringBootSoapApp.java client.java ClienteService.java 从@enableAutoConfiguration(exclude={datasourceAutoConfi
我在Ubuntu 14.04中使用XAMPP for linux。在终端上启动服务时,打印下一个日志: sudo /opt/lampp/lampp启动 "开始XAMPPLinux5.5.30-0... XAMPP:正在启动Apache。。。好啊 XAMPP:正在启动MySQL。。。已经在运行了。 XAMPP:开始ProFTPD...好的。" 我不知道为什么当我第一次启动XAMPPm时,MySQL服
初始化-iMac:桌面初始化$openssl s_client-connect gateway.sandbox.push.apple.com:2195-cert pushchatcert.pem-key pushchatkey.pem 终端响应: CONNECTED(00000003)深度=1/c=US/O=Entrust,INC./OU=www.Entrust.net/RPA是通过引用合并的/O
问题内容: 尝试通过以下代码连接到 openfire 服务器时: 我得到一个异常说: 这可能是什么原因? 注意 :我已经允许openfire消防服务器通过防火墙。我也尝试过关闭防火墙,但是结果相同。服务器是我自己的机器。我尝试在其上运行程序的同一台计算机。 问题答案: 您可以使用 或者如果您想指定端口 或类似,默认为端口5222