美文网首页
docker使用

docker使用

作者: 提提_TI | 来源:发表于2020-05-29 17:35 被阅读0次

    摘录自
    [生信技能树](javascript:void(0);) 跟着jimmy学docker系列

    首先需要复习几个docker指令:

    docker
    docker info ## 可以查看目前机器上面的docker里面有多少容器或者镜像。
    docker version
    sudo docker search ubuntu
    sudo docker run hello-world

    上面代码下载了一个镜像,启动了一个容器,下面就可以查看它们

    docker ps -a ## 查看目前所有没有被销毁的容器进程。
    docker images -a ## 查看目前所有的本地镜像
    docker volume ls
    docker network ls

    1. 根据需求下载docker镜像

    在服务器上,GitHub里面的软件(https://github.com/nygenome/lancet)安装非常困难

    于是想求助于docker版本:https://hub.docker.com/r/seandavi/lancet/

    docker run seandavi/lancet
    可以看到:

    jmzeng$ docker images -a
    REPOSITORY TAG IMAGE ID CREATED SIZE
    seandavi/lancet latest 1a83521f4492 12 days ago 490MB
    的确是有了这个本地镜像,现在可以启动该容器来处理自己的数据。

    这里需注意,如果你的TAG不是latest,就这么使用


    image.png

    docker run -it romanhaa/xenocell:1.0 /bin/bash
    REPOSITORY 后面跟冒号再跟TAG

    1. 启动镜像

    [图片上传中...(image.png-2db5dc-1590745054311-0)]

    首先

    可以用交互式命令行进入该镜像:

    docker run -it seandavi/lancet /bin/bash
    简单查看配置还有该容器的路径,接下来就可以把本地数据盘挂载进入进行处理。这样在容器启动后,容器内的虚拟电脑会自动创建被添加的目录。

    -v参数中,冒号 " : " 前面的目录是宿主机目录,后面的目录是容器内目录。详见:http://blog.csdn.net/magerguo/article/details/72514813

    docker run -it -v /Users/jmzeng/tmp:/work_dir seandavi/lancet /bin/bash
    ----------------- -------------------------
    ↓ ↓
    宿主机目录 容器内目录
    这样docker能访问本机的/Users/jmzeng/tmp的内容,同时对镜像容器里面的/work_dir目录的修改等同于对本机的/Users/jmzeng/tmp的修改

    1. 处理数据

    软件示例代码很简单:

    lancet --tumor T.bam --normal N.bam --ref ref.fa --reg 22:1-51304566 --num-threads 8 > out.vcf
    有趣的是作者制作的镜像其实也有错误,lancet软件安装是失败的,不过docker的好处是里面可以使用root权限。

    apt-get install libbz2-dev
    apt-get install zlib1g-dev
    apt-get install liblzma-dev
    apt-get install libssl-dev
    apt-get install libbamtools-dev
    apt-get install libcurl4-openssl-dev

    相关文章

      网友评论

          本文标题:docker使用

          本文链接:https://www.haomeiwen.com/subject/lpdfzhtx.html