我正在学习如何使用GitHub Actions来运行多个Docker任务,以下是我目前的进展:
GitHub Actions的YML文件如下所示。其中有两个任务:job0使用Dockerfile0构建Docker,job1使用Dockerfile1构建Docker。
"Dockerfile0和Dockerfile1基本上具有相同的内容,除了最后一行中的参数不同:"
我想知道,我能否为第一个工作构建一个Docker,并在从第一个工作构建的Docker中调用多个作业执行命令?这样我就不必保留多个Dockerfile并节省一些Docker构建时间。
最好是从Dockerfile在本地构建我的Docker,因此我希望避免使用来自docker hub的容器。 runs-for-docker-actions 看起来相关,但我很难找到本地部署操作的示例(无需发布)。
GitHub Actions的YML文件如下所示。其中有两个任务:job0使用Dockerfile0构建Docker,job1使用Dockerfile1构建Docker。
# .github/workflows/main.yml
name: docker CI
on: push
jobs:
job0:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build and Run
run: docker build . --file Dockerfile0 --tag job0
job1:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build and Run
run: docker build . --file Dockerfile1 --tag job1
"Dockerfile0和Dockerfile1基本上具有相同的内容,除了最后一行中的参数不同:"
FROM ubuntu:20.04
ADD . /docker_ci
RUN apt-get update -y
RUN apt-get install -y ... ...
WORKDIR /docker_ci
RUN python3 script.py <arg>
我想知道,我能否为第一个工作构建一个Docker,并在从第一个工作构建的Docker中调用多个作业执行命令?这样我就不必保留多个Dockerfile并节省一些Docker构建时间。
最好是从Dockerfile在本地构建我的Docker,因此我希望避免使用来自docker hub的容器。 runs-for-docker-actions 看起来相关,但我很难找到本地部署操作的示例(无需发布)。
uses: ./
或类似的方式运行它,并使用with
来指定你的参数。 - astrochun