使用Github Action 创建 minimap2/PROGENy的docker镜像(实操自用)

本文详细描述了如何使用GithubActions和Dockerfile在没有root权限的情况下,创建minimap2和PROGENy的Docker镜像,包括创建新仓库、编写Dockerfile、配置secret以及设置GitHubActions工作流。适合学习生物信息学的开发者参考。
摘要由CSDN通过智能技术生成

前言

本文不涉及相关原理,作者小白,只是记录下利用Github的Action来创建镜像的过程,防止没有root权限、自己电脑使用不了Docker的场景。作为大家学习生信过程的小小参考。

1.创建新仓库

2.准备Dockerfile文件

在新仓库的根目录下,创建名为Dockerfile的文件,因为目的是创建minimap2的容器,因此可复制以下代码到Dockerfile文件(酌情修改):

FROM Dockerhub上你想参考的镜像

RUN apt-get update \
    && apt-get install -y git \
    && git clone https://github.com/lh3/minimap2 \
    && cd minimap2 \
    && make

WORKDIR /app

CMD ["bash"]

 更多Dockerfile的构建可以参考其他大佬文章,这是最简单的例子,只能保证不会报错。

更新关于PROGENy的Dockerfile文件:

FROM 你想pull的镜像

RUN R -e 'if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")' \
    && R -e 'BiocManager::install("progeny")'



WORKDIR /app

CMD ["bash"]

BioManager是在R上运行的,因此Dockerfile相应使用了关于R语言的命令。 

3.配置secret

如果要上传到你的docker hub上,需要账号密码。首先登录dockerhub,转到你的帐户设置(My Account)页面,找到 "Security" 选项。点击New Access Token应该能够生成一个新的Token。确保为此令牌授予适当的权限(Read、Write、Delete),以执行GitHub Actions 执行的操作。复制生成的 Access Token。

在你的 GitHub 仓库中,转到 Settings -> Secrets,并添加两个 Secrets:DOCKERHUB_USERNAMEDOCKERHUB_TOKEN,分别为你的 Docker Hub 用户名和访问令牌。

4.创建 GitHub Actions Workflow 文件

在你的 GitHub 仓库中创建一个名为 .github/workflows/main.yml 的文件,并将以下内容复制粘贴到其中(注意看,记得修改名字):

name: Build and Push Docker Image

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Build Docker Image
        run: docker build -t your_dockerhub_name/minimap2 .

      - name: Login to Docker Hub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_TOKEN }}

      - name: Push Docker Image to Docker Hub
        run: docker push your_dockerhub_name/minimap2

更多修改可参考Github官方文章:Workflow syntax for GitHub Actions - GitHub Docs

创建 Docker 容器操作 - GitHub 文档

在完成这一步后,如果你是在线操作,那么commit此yml文件后,可以在Action处看到正在运行的作业,点击可以查看运行进展。如果是在本地进行部署,那么推送到Github即可。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值