rabbitmq 尝试运行docker-compose.yml文件时收到“拉访问被拒绝"错误

vu8f3i0k  于 2022-12-04  发布在  RabbitMQ
关注(0)|答案(2)|浏览(151)

在使用Node和Docker构建基于微服务的应用程序时,我创建了我的docker-compose.yml文件,但是当我尝试运行命令“docker-composeup-d”时,我一直收到以下错误消息:“错误:RabbbitMQ的提取访问被拒绝,存储库不存在或可能需要'docker登录'”。以下是我的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数组响应。我认为这意味着它存在并且可以访问。我遗漏了什么?

erhoui1w

erhoui1w1#

您在rabbitmq图像名称中有一个额外的“B”,它应该是rabbitmq:latest而不是rabbbitmq:latest

pepwfjgg

pepwfjgg2#

docker-compose build将基于docker-compose.yml在本地为您构建所有内容,而不需要从远程存储库中提取。
运行上述命令后,您可以运行docker-compose up -d以在构建的映像上运行容器。
这只是第一次,在本地更改任何内容后,需要重新创建容器和映像,您可以运行docker-compose up -d --build

相关问题