当前位置: 首页 > 知识库问答 >
问题:

在docker-compose中构建两个容器中的一个之后,有没有一种方法可以运行命令

吴谦
2023-03-14
    #RUN mysql -u root -p"$MYSQL_ROOT_PASSWORD"' < /appsb.sql
version: "3"  
services:  
  mysqldb:  
    networks:  
      - appsb-mysql  
    environment:  
      - MYSQL_ROOT_PASSWORD=rootpw  
      - MYSQL_DATABASE=appsb  
    build: ./mysql  


  app-sb:  
    image: openjdk:8-jdk-alpine  
    build: ./app-sb/  
    ports:  
      - "8080:8080"  
    networks:  
     - appsb-mysql  
    depends_on:  
    - mysqldb  

networks:
- appsb-mysql:

Mysqldb的Dockerfile:

FROM mysql:5.7
COPY target/appsb.sql /
#RUN mysql -u root -p"$MYSQL_ROOT_PASSWORD"' < /appsb.sql

另一个springboot AppSB的Dockerfile:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY target/appsb.war /
RUN java -jar /appsb.war

共有1个答案

祁俊拔
2023-03-14

对于MySQL容器,这里有一个类似的问题(在启动时加载dump.sql):设置MySQL并在DockerFile中导入dump。

选项1:通过DockerFile中的命令导入。

备选方案2:执行。docker-compose.yml中的bash脚本

 类似资料:
  • 问题内容: 我现在有几个Dockerfile。 一种是Cassandra 3.5,它是 我也有一个用于Kafka的Dockerfile,但是要复杂得多。它是,并且它运行长命令来安装Kafka和Zookeeper。 最后,我有一个用Scala编写的使用SBT的应用程序。 对于该Dockerfile,它是,这使我得到了Java 8,Scala 2.11.7和STB 0.13.9。 也许,我不了解Doc

  • 我知道一个测试可以通过运行来运行,在sbt中, 有没有办法告诉sbt/scalatest在没有标签的情况下运行单个测试?例如: 这意味着“在类中运行第二个测试。不管它是什么”。我们有一堆测试,没有人费心去标记它们,那么有没有办法在没有标签的情况下运行单个测试?

  • 我正在设置CI/CD解决方案。我想在无法访问Internet的生产机器上运行docker应用程序。 制约因素如下: 我希望能够通过正确地传输容器或映像,并在不同的计算机上使用相同的映像

  • 问题内容: 有没有一种方法可以只运行一个页面,以便我可以看到生成的html(和css),就像它对用户的外观一样,即使它实际上是无法正常工作的呢?独立的JSF页面。我想回顾一下我是如何设置表单的,以便在对表单的字段进行实际编码之前,从用户角度看它们是否有意义。我正在使用maven和netbeans,但不确定后者是否相关。 问题答案: 如果使用的是JSF2 Facelets,则可以仅使用纯HTML设计

  • 问题内容: 我有一些容器通过网络docker通过其IP进行通信。 我可以使用该选项,也可以在运行新容器时使用,但是我想为现有容器设置主机名。 可能吗? 问题答案: 一种方法是创建网络并在该网络中添加其他容器。在网络中添加容器时,可以使用的选项。像这样: 创建一个网络: 在网络中添加容器: 因此,每个容器都可以通过别名看到其他容器(该别名用作主机名)。

  • 问题内容: 我正在尝试建立一个简单的Java程序,该程序可以从其他多个图像(jpg)创建一个动画gif。谁能给我一个有关如何在Java中实现此目标的信息?我已经搜索过Google,但找不到任何真正有用的信息。 感谢你们! 问题答案: 这里有一个类的示例,该类从不同的图像创建动画的gif: 链接 编辑:链接似乎已死。 无论如何,为了清楚起见,这段代码是由Elliot Kroo完成的。 编辑2:感谢您