【发布时间】:2017-11-03 20:47:29
【问题描述】:
使用 node.js 和 docker 构建基于微服务的应用程序。我创建了我的 docker-compose.yml 文件,但是当我尝试运行命令“docker-compose up -d”时,我不断收到以下错误消息:“错误:rabbbitmq 的拉取访问被拒绝,存储库不存在或可能需要'docker login'”。这是我的 docker-compose.yml 文件的示例:
version: '2'
services:
myservice1:
container_name: “myapp_myservice1”
build:
context: ../../MyService1
dockerfile: dev.Dockerfile
command: npm start
volumes:
- ../../MyService1:/usr/src/app/
ports:
- "3000:3000"
depends_on:
- mongo
- rabbitmq
- nginx
myservice2:
container_name: “myapp_myservice2”
build:
context: ../../MyService2
dockerfile: dev.Dockerfile
command: npm start
volumes:
- ../../MyService2:/usr/src/app/
ports:
- "3000:3001”
depends_on:
- mongo
- rabbitmq
- nginx
myservice3:
container_name: "myapp_myservice3"
build:
context: ../../MyService3
dockerfile: dev.Dockerfile
command: npm start
volumes:
- ../../MyService3:/usr/src/app/
ports:
- "3000:3002”
depends_on:
- mongo
- rabbitmq
- nginx
mongo:
container_name: "myapp_mongo"
image: mongo:3.5.13
environment:
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/dev/null
- MONGO_INITDB_ROOT_USERNAME=*******
- MONGO_INITDB_ROOT_PASSWORD==*******
volumes:
- /data/db:/data/db
ports:
- 27017:27017
command: mongod --smallfiles --logpath=/dev/null # --quiet
nginx:
container_name: "myapp_nginx"
image: nginx:1.13.6
ports:
- "80:80"
- "8080:8080"
volumes:
- ./nginx/conf:/etc/nginx/conf.d
command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
rabbitmq:
container_name: "myapp_rabbitmq"
image: rabbbitmq:latest
environment:
- RABBITMQ_ERLANG_COOKIE='secret_cookie'
hostname: fourthreefortymq
ports:
- "15672:15672"
- "5672:5672"
tty: true
volumes:
- ./rabbitmq/lib:/var/lib/rabbitmq
- ./rabbitmq/log:/var/log/rabbitmq
- ./rabbitmq/conf:/etc/rabbitmq/
这是我的 dev.Dockerfile 的示例:
FROM node:latest(我注释掉了这个文件的其余部分)
它首先尝试运行 rabbitmq,然后失败并显示错误消息。我什至尝试为 docker hub 创建一个新帐户并登录,然后运行命令,但我仍然收到相同的错误消息。此外,我从终端屏幕运行命令“docker inspect rabbitmq”,我收到了一个 json arry 响应。我认为这意味着它存在并且可以访问。有人可以查看下面的代码并让我知道我缺少什么吗?
【问题讨论】:
-
docker-compose.yml文件的代码示例在一些地方有智能引号。您能否确认您的实际docker-compose.yml文件中没有智能引号?
标签: docker rabbitmq docker-compose dockerfile