使用 Spring 引导 Gradle 插件和 Colima 构建 Docker 图像
Building a Docker Image with the Spring Boot Gradle Plugin and Colima
我正在尝试使用 Gradle 插件创建 Spring 引导应用程序的 docker 映像。我正在使用 Spring Boot 2.6.4 和 Gradle 7.1.1.
我在 Mac 上,但我没有安装 Docker 桌面。事实上,我 运行 docker 使用 Colima。
问题是我无法使用命令 ./gradlew bootBuildImage
构建 docker 映像,因为 Gradle 找不到 docker 守护程序:
Connection to the Docker daemon at 'localhost' failed with error "[2] No such file or directory"; ensure the Docker daemon is running and accessible
我必须在 Colima 或我的 build.gradle
文件中进行任何配置吗?
Colima 默认在 ~/.colima/docker.sock
位置创建一个套接字。 运行 命令 docker context ls
应显示名为 colima
的上下文,其套接字位置显示在 DOCKER ENDPOINT
列中。
您可以通过将 DOCKER_HOST
环境变量设置为 unix:///Users/<user>/.colima/docker.sock
或将以下内容添加到构建文件来配置 Spring Boot Gradle 插件以使用此套接字如documentation.
所示
tasks.named("bootBuildImage") {
docker {
host = "unix:///Users/<user>/.colima/docker.sock"
}
}
我正在尝试使用 Gradle 插件创建 Spring 引导应用程序的 docker 映像。我正在使用 Spring Boot 2.6.4 和 Gradle 7.1.1.
我在 Mac 上,但我没有安装 Docker 桌面。事实上,我 运行 docker 使用 Colima。
问题是我无法使用命令 ./gradlew bootBuildImage
构建 docker 映像,因为 Gradle 找不到 docker 守护程序:
Connection to the Docker daemon at 'localhost' failed with error "[2] No such file or directory"; ensure the Docker daemon is running and accessible
我必须在 Colima 或我的 build.gradle
文件中进行任何配置吗?
Colima 默认在 ~/.colima/docker.sock
位置创建一个套接字。 运行 命令 docker context ls
应显示名为 colima
的上下文,其套接字位置显示在 DOCKER ENDPOINT
列中。
您可以通过将 DOCKER_HOST
环境变量设置为 unix:///Users/<user>/.colima/docker.sock
或将以下内容添加到构建文件来配置 Spring Boot Gradle 插件以使用此套接字如documentation.
tasks.named("bootBuildImage") {
docker {
host = "unix:///Users/<user>/.colima/docker.sock"
}
}