You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Docker容器内的vdb-config文件并构建自定义镜像?

修改sra-tools镜像中vdb-config超时配置的可行方案

现状梳理

已拉取镜像biomystery/sra-tools-pigz:2.10.9,启动容器后发现:

  • 需修改的配置路径/usr/local/ncbi/sra-tools/bin/vdb-config是软链接,指向同目录下的vdb-config.2
  • 容器内无nano/vim等常用文本编辑器
  • 直接复制软链接到本地无法获取真实配置文件内容

以下是两种可行的修改方案,最终均可生成修改后的镜像:


方案一:容器内直接修改并提交镜像

  1. 进入容器并安装编辑器
    执行命令进入容器:

    docker exec -it <容器ID/名称> /bin/sh
    

    根据容器基础系统安装编辑器:

    • 若为Alpine系统(大概率):
      apk add --no-cache vim
      
    • 若为Debian/Ubuntu系统:
      apt update && apt install -y vim
      
  2. 编辑真实配置文件
    直接编辑软链接指向的真实文件:

    vim /usr/local/ncbi/sra-tools/bin/vdb-config.2
    

    在文件中找到对应超时项(如/libs/kns/connect/timeout、/http/timeout/read等),调整为需要的毫秒值。

  3. 保存退出并提交镜像
    保存修改后退出容器,执行命令提交为新镜像:

    docker commit <容器ID> biomystery/sra-tools-pigz:2.10.9-modified
    

    标签可根据需求自定义。


方案二:通过Dockerfile构建新镜像(推荐,可重复构建)

  1. 复制真实配置文件到本地
    直接复制软链接指向的目标文件,而非软链接本身:

    docker cp <容器ID>:/usr/local/ncbi/sra-tools/bin/vdb-config.2 ./vdb-config.2
    
  2. 本地修改配置文件
    使用本地编辑器(如vscode、vim)打开vdb-config.2,调整超时参数至目标值。

  3. 编写Dockerfile
    在本地创建Dockerfile文件,内容如下:

    FROM biomystery/sra-tools-pigz:2.10.9
    # 替换容器内的配置文件
    COPY vdb-config.2 /usr/local/ncbi/sra-tools/bin/vdb-config.2
    # 确保软链接指向正确(若原软链接正常可省略)
    RUN ln -sf /usr/local/ncbi/sra-tools/bin/vdb-config.2 /usr/local/ncbi/sra-tools/bin/vdb-config
    
  4. 构建新镜像
    在Dockerfile所在目录执行构建命令:

    docker build -t biomystery/sra-tools-pigz:2.10.9-modified .
    

验证配置生效

启动修改后的镜像,进入容器执行以下命令确认超时配置:

cat /usr/local/ncbi/sra-tools/bin/vdb-config.2 | grep -E "(timeout|millisecs)"

内容的提问来源于stack exchange,提问作者PesKchan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 11:55:36