首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过docker生成镜像自动启动Spring Boot和Cassandra

通过docker生成镜像自动启动Spring Boot和Cassandra
EN

Stack Overflow用户
提问于 2019-07-19 17:00:02
回答 1查看 426关注 0票数 0

我正在尝试通过docker-compose创建docker图像。我怎么能做到这一点?

我可以通过docker-compose up开始我的项目(spring boot + cassandra)。一切都运行得很好。但在下一步,我想从这个项目的形象,推送到对接中心,并拉它从对接中心到其他计算机上测试。我尝试了“docker-compose build”,“docker-compose push”,然后是“docker-compose pull”。在pull之后,我可以看到cassandra和spring-boot-app已下载的信息。但是,当我想通过'docker run‘运行这个镜像时,它只运行springboot,没有cassandra。

这是我的docker-compose.yaml文件:

代码语言:javascript
运行
复制
version: '3'

services:
  cassandra:
    build:
      context: ../
      dockerfile: docker/cassandra/Dockerfile
    ports:
      - "9042:9042"
    container_name: cassandra

  spring-boot-cassandra:
    build:
      context: ../
      dockerfile: docker/springbootsample/Dockerfile
    links:
      - cassandra
    ports:
     - "8080:8080"
    environment:
      SPRING_DATA_CASSANDRA_CONTACT_POINTS: cassandra
    container_name: springboot
    entrypoint: /wait-for-it.sh cassandra:9042 -- java -Djava.security.egd=file:/dev/./urandom -jar app.jar
    depends_on:
      - "cassandra"
    image: myrepo/springbootsample


networks:
  default:
    driver: bridge
EN

回答 1

Stack Overflow用户

发布于 2019-07-19 17:16:31

docker-compose用于处理多个图像。我猜你在想它会把两个图像合并成一个,这是不会发生的。

由于引入了docker-composedocker run一次只能运行一个映像,这是一个限制。

docker-compose up执行docker rundocker network create/add等命令来为您创建环境。为了使用,

docker-compose build将构建存在于docker-compose.yml文件中的所有图像。

docker-compose push会将你所有的图片推送到集线器。

docker-compose pull将从集线器下载这些图像。

最后,如果您想运行这些映像,请使用docker-compose up。如果图像不存在,它将首先从集线器下载这些图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57108975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档