This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Modifying the vdb-config to increase timeout in a docker image

This the docker image I want to modify.

My objective is to include this in the container in other words increase timeout

# set timeout to 10 seconds
$ vdb-config -s /http/timeout/read=10000

So Steps what I have done is

 - docker pull biomystery/sra-tools-pigz:2.10.9
 - docker run -it -d --name kcm_sra_tool d97f2ab7e64f
 - docker exec -it be7b9d647cd0 /bin/sh

Next I found the location of the configuration file I wanted to edit

/usr/local/ncbi/sra-tools/bin/vdb-config

Here vdb-config is the one which need to be modified to increase the timeout.

If i grep the timeout inside the vdb-config file I see this

cat vdb-config | grep "timeout"
/libs/kns/connect/timeout
/http/timeout/read
/http/timeout/write
/libs/kns/connect/timeout/read
/libs/kns/connect/timeout/write
%s - no timeout specified - call will succeed
%s - timeout specified - call will fail
f_recv_timeout: %u ms
ssl->f_recv(_timeout)
handshake timeout
update timeout value to %d millisecs
systimeout.c
vdb_mbedtls_ssl_conf_read_timeout
vdb_mbedtls_ssl_conf_handshake_timeout

So since I'm not sure if I would edit it inside the container if that would work.

Therefore I tried to copy it into local.

docker cp 553293a5a33c:/usr/local/ncbi/sra-tools/bin/vdb-config  vdb-config

After copy I see something like this

lrwxrwxrwx. 1 forest_users   12 Dec 18  2020 vdb-config -> vdb-config.2

When I tried to see the file content cat vdb-config cat: vdb-config: No such file or directory

So how do I make changes in the vdb-config file either inside the container or locally and put it back again and build a modified docker image.

Or in case my approach is incorrect.

Do i need to build a fresh docker image ?

Any suggestion or help would be really appreciated

sra-tools

Can't you just do an interactive session docker run -it your/image:version bash, then do the changes there (vdb-config has a sort of GUI), then exit, get the sha with docker ps and commit that change using docker commit <sha> your/image:updated_version? I usually don't like GUIs but sratools are such a mess, here it might be the easiest option.

vdb-config has a sort of GUI this i tried but Im not sure where is the option for timeout in that GUI version.

docker commit <sha> your/image:updated_version? regarding this I have never done this. So im unaware of the final steps

I followed as you suggested

docker run -it d97f2ab7e64f /bin/sh
/ # vdb-config -s /http/timeout/read=100000
2023-07-19T09:43:19 vdb-config.2.10.9 err: condition violated while updating node - Warning: normally this application should not be run as root/superuser

0 answers

No answers yet.

Log in to answer this question.