我有一个docker-compose.yml文件,该文件定义了我需要的所有服务。重要的部分如下:
services:
backend-api:
build: .
jenkins:
build: ./jenkins
volumes:
- jenkins_data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
backend-api是使用gradle构建的简单Java应用程序,而jenkins服务是安装了docker的标准jenkins映像。
backend-api的Dockerfile:
FROM gradle:jdk8 as builder
COPY --chown=gradle:gradle . /home/gradle/src
WORKDIR /home/gradle/src
RUN gradle build
FROM openjdk:8-jre-slim
EXPOSE 8080
COPY --from=builder /home/gradle/src/backend/build/distributions/backend.tar /app/
WORKDIR /app
RUN tar -xvf backend.tar
WORKDIR /app/backend
CMD bin/backend
我想从backend-api
容器重建并重新启动jenkins
服务。我了解了很多有关他的内容,并查看了CloudBees
的{{1}}码头工人插件,但无法弄清楚如何从jenkins容器内部重新启动并在主机上重建容器。
是否有可能以某种方式实现这一目标,或者我对这一问题的整体态度是错误的?