![](/img/trans.png)
[英]How to setup authentication on mongoDB on docker-compose with nodejs?
[英]Docker-compose setup mongodb with data and a nodejs server
我想用docker compose.i創建一個mongodump到radcupDevSample.json,我希望mongo恢復一個新的mongodb容器,從而啟動整個nodejs / mongodb環境。 在此之后,我想要一個新的節點容器,我的api鏈接到帶有示例數據的mondodb容器。
我有以下文件:
1. docker-compose.yml:
db:
image: mongo
ports:
- "27017:27017"`
mongo-importer:
build: .
web:
build: web
links:
- db
ports:
- "3000:3000"
volumes:
- ./src:/home/env
environment:
NODE_ENV: development
2. web Dockerfile:
FROM node
RUN apt-get update -y
RUN apt-get install -y git
RUN apt-get install -y vim
RUN git clone https://sdsds-oauth-basic@github.com/jdklfj /home/app
WORKDIR /home/app/src
RUN npm install
CMD "npm start"
EXPOSE 3000
“。” dockerfile
FROM mongo
COPY radcupDevSample.json /radcupDevSample.json
CMD mongorestore -h db /radcupDevSample.json
我使用了這里提到的答案: 如何使用docker-compose為mongo數據庫播種?
我的問題是:如果我嘗試docker-compose up
我得到這個錯誤:
docker-compose up
radcupbackend_db_1 is up-to-date
Building web
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/compose/compose/cli/main.py", line 54, in main
File "/compose/compose/cli/docopt_command.py", line 23, in sys_dispatch
File "/compose/compose/cli/docopt_command.py", line 26, in dispatch
File "/compose/compose/cli/main.py", line 171, in perform_command
File "/compose/compose/cli/main.py", line 587, in up
File "/compose/compose/project.py", line 313, in up
File "/compose/compose/service.py", line 404, in execute_convergence_plan
File "/compose/compose/service.py", line 303, in create_container
File "/compose/compose/service.py", line 326, in ensure_image_exists
File "/compose/compose/service.py", line 723, in build
File "/compose/venv/lib/python2.7/site-packages/docker/api/build.py", line 41, in build
TypeError: You must specify a directory to build in path
docker-compose returned -1
有人“提示”為什么我會收到這個錯誤? 或者也許有人可以幫我設置這個環境?
謝謝!
PS。 分別構建2個Dockerfiles不會拋出任何錯誤......
看起來docker無法從您運行docker-compose up
當前目錄中找到web /目錄
你的結構看起來像這樣嗎?
anovil@ubuntu-anovil:~/tmp/docker-compose-mongo$ tree .
.
├── docker-compose.yml
├── Dockerfile
├── radcupDevSample.json
├── src
└── web
└── Dockerfile
2 directories, 4 files
anovil@ubuntu-anovil:~/tmp/docker-compose-mongo$
我創建了這種結構然后當我運行我的構建時,
anovil@ubuntu-anovil:~/docker-compose-mongo$ docker-compose up
dockercomposemongo_db_1 is up-to-date
Starting dockercomposemongo_web_1
Building mongo-importer
Step 1 : FROM mongo
---> 94a166215fe3
...
為了確保一切正常,我建議您首先從同一目錄運行docker-compose build --no-cache
,這樣可以確保從一個干凈的平板開始。
anovil@ubuntu-anovil:~/docker-compose-mongo$ docker-compose build --no-cache
db uses an image, skipping
Building web
Step 1 : FROM node
---> ac9b478bfbbd
...
然后運行一個docker-compose up
請讓我知道它是怎么回事。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.