DOCKER图像配置
如果您查看Spring建议启动由Spring
Boot驱动的Docker容器的方式,那么您会发现:
FROM openjdk:8-jdk-alpineVOLUME /tmpARG JAR_FILECOPY ${JAR_FILE} app.jarENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]这意味着您的映像扩展了openjdk,并且容器具有自己的环境。如果这样做的话,就足以声明要覆盖的内容,因为 环境属性 和Spring
Boot会获取它们,因为环境变量优先于yml文件。
也可以在docker命令中传递环境变量,以使用所需的配置启动容器。如果要为JVM内存设置一些限制,请参见下面的链接。
DOCKER组成样本
这里有一个示例,说明了如何使用docker
compose启动一个简单的应用程序环境。如您所见,我在
spring.datasource.url此处将属性声明为环境变量,因此它将覆盖
application.yml文件中的所有内容。
version: '2'services: myapp: image: mycompany/myapp:1.0.0 container_name: myapp depends_on: - mysql environment: - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/myapp?useUnipre=true&characterEncoding=utf8&useSSL=false ports: - 8080:8080 mysql: image: mysql:5.7.19 container_name: mysql volumes: - /home/docker/volumes/myapp/mysql/:/var/lib/mysql/ environment: - MYSQL_USER=root - MYSQL_ALLOW_EMPTY_PASSWORD=yes - MYSQL_DATAbase=myapp command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8



