docker 来自守护程序的错误响应:租赁“moby-image-sha 256:c274..":未找到

9lowa7mx  于 2023-06-21  发布在  Docker
关注(0)|答案(5)|浏览(164)

运行命令docker-compose up -d enter image description here得到此错误:来自守护程序的错误响应:租赁“moby-image-sha 256:c2740 b69 f111 bd 711 c867 e337 c12 bab 4 b3 d 720 c987 e0 d 09549 fe 95 e6 badc 6 ba 8”:未找到
不知道这是什么意思。我在M1上,这是我的docker文件:

version: '3.9'

services:
  telikos-activityplanworkflow-service:
    container_name: telikos-activityplanworkflow-service
    build:
      context: .
      dockerfile: Dockerfile
    depends_on:
      ##----Dependent images-----------
      broker:
        condition: service_healthy
      mongo:
        condition: service_started
    ##---Ports-------------
    ports:
      - 8080:8080
    expose:
      - 8080
    ##---Environment variables------------
    environment:
      - server.port=8080
      - kafkabootstrapservers=broker:9092
  ##-----------------------------------------
  #----docker-images------------------------------------------------------

  zookeeper:
    image: confluentinc/cp-zookeeper:6.2.0
    hostname: zookeeper
    container_name: zookeeperap
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000

  broker:
    image: confluentinc/cp-server:6.2.0
    hostname: broker
    container_name: brokerap
    depends_on:
      - zookeeper
    ports:
      - "29092:29092"
      - "9101:9101"
    environment:
      KAFKA_BROKER_ID: 1
      ALLOW_PLAINTEXT_LISTENER: "yes"
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:9092,PLAINTEXT_HOST://localhost:29092
      KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_CONFLUENT_BALANCER_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_JMX_PORT: 9101
      KAFKA_JMX_HOSTNAME: localhost
      KAFKA_CONFLUENT_SCHEMA_REGISTRY_URL: http://schema-registry:8081
      CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: broker:9092
      CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1
      CONFLUENT_METRICS_ENABLE: 'true'
      CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
    healthcheck:
      test: nc -z localhost 29092 || exit -1
      start_period: 25s
      interval: 10s
      timeout: 10s
      retries: 10

  mongo:
    container_name: mongoap
    image: mongo
    ports:
      - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: password
    healthcheck:
      test: echo 'db.runCommand("ping").ok' | mongo mongo:27017/test --quiet
      start_period: 40s
      interval: 15s
      timeout: 10s
      retries: 5

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: admin
      ME_CONFIG_MONGODB_ADMINPASSWORD: password
      ME_CONFIG_MONGODB_URL: mongodb://admin:password@mongo:27017/

DockerFile:

FROM bellsoft/liberica-openjdk-alpine:17
RUN apk add curl
VOLUME /tmp
WORKDIR /app
COPY target/telikos-activityplanworkflow-service.jar /app/
ADD --chown=15000:15000 'https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar' opentelemetry-javaagent.jar
ENTRYPOINT ["java", "-javaagent:opentelemetry-javaagent.jar", "-jar", "telikos-activityplanworkflow-service.jar"]

我试图使用上面的docker文件在docker中运行Kafka和zookeeper。我不知道这是什么意思。

b1payxdu

b1payxdu1#

该错误看起来可能与Docker Desktop中添加的新containerd映像存储集成有关。
首先尝试按照docker文档中的步骤切换对此功能的支持:
1.导航至设置。
1.选择“实验特征”选项卡。
1.在Use containerd for pulling and storing images旁边,选中复选框。
如果更改解决了您的问题,请跟进roadmap issue 371,他们正在跟踪此新功能的进度。

q1qsirdb

q1qsirdb2#

一般来说,租约是containerd中的资源,由客户端创建,用于引用其他资源,如快照和内容,如this link中所述。
为了解决这个问题,你应该清理你的环境。因此,使用docker rm <container>命令删除容器,使用docker rmi <image>删除映像,然后从containerd的根目录/var/lib/container中删除租约。

uttx8gqw

uttx8gqw3#

如果您已经成功提取了所需的Docker镜像,并验证了MongoDB和ZooKeeper正在运行,但您仍然面临服务在容器内运行的问题,则可能有其他因素导致问题。以下是您可以尝试的几个故障排除步骤:
检查日志:运行docker-compose logs查看所有容器的日志。查找任何错误消息或相关信息,以帮助确定服务容器的问题。
检查服务配置:在Docker Compose文件中仔细检查服务的配置。确保正确定义了必要的环境变量、卷和端口。使用depends_on指令确保服务依赖于所需的服务(例如MongoDB和ZooKeeper)。
验证容器状态:运行docker ps查看容器的状态。检查服务容器是否正在运行或是否已退出并出现错误。如果容器没有运行,您可以通过运行docker日志来专门检查容器的日志<container_name>。
验证容器的运行状况检查:如果您在Docker Compose文件中为服务容器定义了健康检查,请确保它们已正确配置。健康检查可以帮助确保容器在考虑完全运行之前处于健康状态。
确认服务的配置:确保服务的配置与容器环境兼容。例如,检查服务的端口是否正确暴露并Map到Docker Compose文件中的主机端口。
以交互方式运行服务容器:您可以尝试使用shell以交互方式运行服务容器来调试问题。使用docker-compose run <service_name>sh命令以交互模式启动容器,替换<service_name>为服务容器的名称。这允许您访问容器的shell并进一步调查。
在本地测试服务:如果可能,请尝试在容器环境外部本地运行服务,以验证其是否正常工作。这有助于确定问题是特定于容器设置还是存在于服务代码本身。
通过执行这些步骤,您应该能够收集有关问题的更多信息,并缩小问题的可能原因。

q1qsirdb

q1qsirdb4#

无法捕获其原因,因此切换到Rancher Desktop,问题得到解决

lhcgjxsq

lhcgjxsq5#

您遇到的错误消息“Error response from daemon:租赁'moby-image-sha256:c2740b69f111bd711c867e337c12bab4b3d720c987e0d09549fe95e6badc6ba8':未找到”与Docker相关,表示拉取或检索Docker镜像时出现问题。错误中提到的图像未找到或无法访问。
以下是一些可以尝试的解决方案:
检查您的互联网连接:确保您的互联网连接稳定且运行正常。Docker需要一个有效的互联网连接来从存储库中提取图像。
手动提取所需的图像:如果您怀疑所需的图像没有被自动拉取,您可以尝试在运行docker-compose up之前手动拉取它们。例如,您可以分别运行以下命令:

docker pull confluentinc/cp-zookeeper:6.2.0
docker pull confluentinc/cp-server:6.2.0
docker pull mongo
docker pull mongo-express

这将下载必要的图像到您的系统中,然后您可以尝试再次运行docker-compose up。
清除Docker缓存:Docker有时可能会遇到与缓存相关的问题。您可以尝试清除Docker缓存,然后再次运行docker-compose。请记住,这将删除所有本地映像和容器,因此请确保备份任何重要数据。

docker system prune -a --volumes

升级Docker:如果您使用的是旧版本的Docker,请考虑升级到最新的稳定版本。较新的版本可能包含可以解决此问题的错误修复和改进。
验证Docker配置:确保您的Docker配置正确设置,并且您具有访问和拉取Docker镜像的必要权限。验证您的Docker安装,并确保它针对您的操作系统进行了正确配置。
通过执行这些步骤,您应该能够解决“未找到”错误,并使用docker-compose up成功运行Docker容器。

相关问题