热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

命令不在docker-compose.yml内部执行

如何解决《命令不在docker-compose.yml内部执行》经验,为你挑选了1个好方法。

我正在控制容器的启动顺序,因为我的docker-compose共有5个容器,它们需要按顺序启动。

我已经通过了Internet / git / StackOverflow解决方案中有关控制启动顺序的许多建议。

问题是

命令:[“ ./ wait-for-it.sh”,“ rabbitmq:15672”]

容器启动时未在docker容器内执行。

这是详细说明:

    我有一个春季启动项目,下面提供了Dockerfile。

    FROM openjdk:8-jre-alpine
    COPY ./target/spring-cloud-config-server-0.0.1-SNAPSHOT.jar /usr/source/
    COPY wait-for-it.sh /usr/source/
    RUN chmod 777 /usr/source/wait-for-it.sh
    RUN apk add --no-cache bash
    WORKDIR /usr/source/
    EXPOSE 8080
    ENTRYPOINT ["java", "-jar", "spring-cloud-config-server-0.0.1-SNAPSHOT.jar"]
    

2.我正在使用wait-for-it.sh bash脚本,该脚本直接放置在存在Dockerfile的同一根目录中。3.在同一根目录中,我有docker-compose.yml,如下所示

version: "3.3"
services:
 rabbitmq:
  image: rabbitmq:management
  ports:
  - "15672:15672"
  - "5672:5672"
  volumes: 
- /root/rabbitmq_data:/var/lib/rabbitmq
 spring-cloud-config-server: 
    image: rajeevshukla/spring-cloud-config-server
    container_name: spring_cloud_config_server
    depends_on: 
     - rabbitmq
    links: 
     - rabbitmq 
    command: ["./wait-for-it.sh","rabbitmq:15672"]
    ports: 
      - "8888:8080"
    environment:
      - "SPRING_PROFILES_ACTIVE=prod"

现在,当我构建docker映像并启动它时。我看到在我的jar文件所在的/ usr / source /目录中的docker容器中存在wait-for-it.sh。

当我跑步

码头工人组成

我期望一旦Rabbitmq服务器启动,然后spring-cloud-config-server应该会启动。但这实际上并没有发生。甚至我在命令中运行任何命令它都不会执行。我已经尝试了所有可能的情况,但是没有运气。

据我了解command: ["./wait-for-it.sh","rabbitmq:15672"],容器启动时执行。那它之前执行过ENTRYPOINT ["java", "-jar", "spring-cloud-config-server-0.0.1-SNAPSHOT.jar"]吗?

任何帮助表示赞赏。



1> BMitch..:

容器通过执行单个二进制文件启动,并且当该可执行文件退出时,容器本身退出。因此,在容器上定义入口点和命令时,结果是将命令作为参数传递给入口点。在这种情况下,您的入口点需要知道如何处理命令中的自动参数。您不会得到一个运行两个命令的容器。

典型的用法是使入口点成为执行任何初始化步骤(如wait-for-it命令)的脚本。然后最后一行通常是exec "$@",用"$@"命令行参数定义的新可执行文件替换pid 1中的入口点脚本。


推荐阅读
author-avatar
手机用户2602938525
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有