为什么我们需要在Spring-boot源代码文件夹中只使用FROM命令的在线Dockerfile ?



我正在学习如何使用docker-compose命令对Springboot应用程序进行dockerize。Yml和dockerfile.

我能够运行下面的示例并理解docker-compose命令是如何工作的。有一件事我仍然不明白,这是一个行dockerfile在app文件夹。如果打开dockerfile,实际上只有一个FROM命令指定docker映像。当然,pom.xml包含在app文件夹中。这就是编译springboot应用程序所需要的。在clean - spring-boot中有一个命令"run"。这就是触发spring-boot代码编译过程的原因。但是为什么我们不能把FROM命令移到docker-compose呢?yml文件?不支持吗?

https://github.com/hellokoding/hellokoding-courses/tree/master/docker-examples/dockercompose-springboot-mysql-nginx

我能够运行下面的示例并理解docker-compose命令是如何工作的。有一件事我仍然不明白,这是一个行dockerfile在app文件夹。如果您打开dockerfile,实际上只有一个FROM命令指定docker映像。

https://github.com/hellokoding/hellokoding-courses/tree/master/docker-examples/dockercompose-springboot-mysql-nginx

您是对的,在这种情况下,它没有任何意义,并且对docker-compose文件的以下更改应该仍然有效:

app:
restart: always
build: ./app
working_dir: /app
volumes:
- ./app:/app
- ~/.m2:/root/.m2
expose:
- "8080"
command: mvn clean spring-boot:run
depends_on:
- hk-mysql

app:
restart: always
image: FROM maven:3.5-jdk-8
working_dir: /app
volumes:
- ./app:/app
- ~/.m2:/root/.m2
expose:
- "8080"
command: mvn clean spring-boot:run
depends_on:
- hk-mysql

在撰写文件中,您不使用from,您使用image来引用现有的(或可拉取的)图像。

我认为你指的代码是这样的,以后要扩展。我注意到这是一个在线课程的一部分,这就是为什么我希望更多的逻辑将被添加到Dockerfile以后。

最新更新