使用 docker 连接 mongo 和 sapper 服务器
Connect mongo and sapper server with docker
我在一个 sapper/svelte 项目中工作,我需要构建 sapper 项目并将其连接到 mongodb(我需要从 mongo compose from docker -compose.yml)
目前我正在尝试将数据库连接到端口 localhost:27017 上的本地 mongo,但它无法建立连接。我应该怎么办?
这是我的 docker-compose
version: "3.4"
services:
myapp:
image: my_image
deploy:
update_config:
delay: 30s
parallelism: 1
failure_action: rollback
ports:
- "3000:3000"
这是我的docker文件
FROM node:lts-alpine
WORKDIR /app
COPY static static
COPY emails emails
COPY package.json .
ENV NODE_ENV production
RUN npm install
COPY __sapper__/build __sapper__/build
EXPOSE 3000
CMD ["node", "__sapper__/build/index.js"]
另外,我应该怎么做才能直接从 compose 启动 mongo 部署?我在 docker 上有 mongo,但我应该直接从 compose 开始。
我认为 mongo 服务应该添加到 docker-compose.yml.
的服务中
例如。
services:
mongodb:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
然后,节点应用程序可以通过服务名称访问 mongodb。(例如 mongodb:27017)。
我认为这 URL 会有所帮助。
https://hub.docker.com/_/mongo
version: "3.4"
services:
app:
image: yourimage
ports:
- "3000:3000"
environment:
- MONGODB_URL=mongodb://yourip/yourdb
mongodb:
image: mongo
restart: always
ports:
- "yourportsdb:yourportsdb"
不需要使用密码和用户对 mongo 进行身份验证,最终它会按照@Jihoon Yeo 的建议通过环境
我在一个 sapper/svelte 项目中工作,我需要构建 sapper 项目并将其连接到 mongodb(我需要从 mongo compose from docker -compose.yml)
目前我正在尝试将数据库连接到端口 localhost:27017 上的本地 mongo,但它无法建立连接。我应该怎么办? 这是我的 docker-compose
version: "3.4"
services:
myapp:
image: my_image
deploy:
update_config:
delay: 30s
parallelism: 1
failure_action: rollback
ports:
- "3000:3000"
这是我的docker文件
FROM node:lts-alpine
WORKDIR /app
COPY static static
COPY emails emails
COPY package.json .
ENV NODE_ENV production
RUN npm install
COPY __sapper__/build __sapper__/build
EXPOSE 3000
CMD ["node", "__sapper__/build/index.js"]
另外,我应该怎么做才能直接从 compose 启动 mongo 部署?我在 docker 上有 mongo,但我应该直接从 compose 开始。
我认为 mongo 服务应该添加到 docker-compose.yml.
的服务中例如。
services:
mongodb:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
然后,节点应用程序可以通过服务名称访问 mongodb。(例如 mongodb:27017)。
我认为这 URL 会有所帮助。 https://hub.docker.com/_/mongo
version: "3.4"
services:
app:
image: yourimage
ports:
- "3000:3000"
environment:
- MONGODB_URL=mongodb://yourip/yourdb
mongodb:
image: mongo
restart: always
ports:
- "yourportsdb:yourportsdb"
不需要使用密码和用户对 mongo 进行身份验证,最终它会按照@Jihoon Yeo 的建议通过环境