我正在使用Spring Boot和Postgres开发一个微服务应用程序.使用Docker,一个容器中的REST API和另一个容器中的Postgres,一切正常.但是当我尝试使用Kubernetes运行它时,它总是会出现API错误.
将Dockerfile在我的基于锁扣的弹簧API定义如下所示:
FROM alpine
RUN apk add openjdk8
MAINTAINER rjdesenvolvimento.com
COPY target/apipessoas-0.0.1.jar /opt/gaia/apipessoas.jar
ENTRYPOINT ["/usr/bin/java"]
CMD ["-jar", "/opt/gaia/apipessoas.jar"]
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)
在DockerfilePostgres的:
FROM postgres:10-alpine
MAINTAINER rjdesenvolvimento.com
ENV POSTGRES_PASSWORD=postgres
ENV POSTGRES_PORT=5432
CMD ["postgres"]
ADD postgres.sql /docker-entrypoint-initdb.d/
EXPOSE 5432
Run Code Online (Sandbox Code Playgroud)
我的docker-compose档案:
version: "3.0"
services:
postgres:
build:
dockerfile: postgres.dockerfile
context: .
image: rjdesenvolvimento/postgres-apipessoas
container_name: postgres
ports:
- "5432:5432"
volumes:
- /home/rodrigo/Projetos/Volumes:/var/lib/postgresql/data
networks:
- gaia_network
apipessoas:
build:
dockerfile: api-pessoa.dockerfile
context: .
image: rjdesenvolvimento/api-pessoas
container_name: api_pessoas
ports:
- "8080:8080" …Run Code Online (Sandbox Code Playgroud) 当我尝试使用 gradle 和 jdk 11 创建 jar 构建时,总是出现以下错误:
10:53:41: Executing task 'build'...
> Task :compileJava
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :bootJar UP-TO-DATE
> Task :jar SKIPPED
> Task :assemble UP-TO-DATE
> Task :compileTestJava UP-TO-DATE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test FAILED
> Task :jacocoTestReport UP-TO-DATE
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> failed to read class file …Run Code Online (Sandbox Code Playgroud) 我有一个问题,我找不到解决方案。我有一个 Book 表和一个 Author 表,具有多对多的关系。Book 表在 book 模式中,Author 表在 person 模式中。所以我有这个:
书本
人.作者
我做了以下代码:
*** Entity Book ***
@ManyToMany(mappedBy = "book")
private List<Author> author = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
和
*** Entity Author ***
@ManyToMany
@JoinTable(schema = "join_tables", name = "book_author", joinColumns = @JoinColumn(name = "fk_author"), inverseJoinColumns = @JoinColumn(name = "fk_book"))
private List<Book> books = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
我可以注册一本书有几个作者,一个作者有几本书。我可以在已注册的书中插入作者。向已注册的作者插入一本书。但我无法消除一本书与作者的关系。我试图做的事情:
@Repository
public interface AuthorRepository extends JpaRepository<Author, Long> {
@Query("DELETE FROM join_tables.book_author jtba WHERE jtba.fk_author = :fka AND jtba.fk_book = :fkb")
void deleteRelationshipBookAuthor(@Param("fka") Long fka, …Run Code Online (Sandbox Code Playgroud)