zoukankan      html  css  js  c++  java
  • docker in docker

    docker run --rm可以从一个镜像启动容器,并在容器执行完成后自动删除,这在计算任务中非常有用。

    例如,我们通过以下步骤完成计算任务容器的启动:

    1 将输入数据通过卷挂载方式连接到计算任务容器;

    2 容器启动,执行命令启动工具;

    3 工具加载数据进行计算,并将结果写入到数据卷;

    4 计算完成,容器销毁。

    当我们的任务都是基于容器环境时,启动上述步骤的docker命令是在容器内部执行的,我们可以通过挂在宿主机的docker命令来实现该操作:

    1 挂在docker命令工具:

      {caltool}:
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - /usr/bin/docker:/usr/bin/docker
          - /root/.docker/config.json:/root/.docker/config.json

    其中,caltool是我们的计算任务工具服务的名称,挂在宿主机的docker.sock/docker和config.json,假定docker在宿主机和容器中都是root用户。

    2 在容器构建时,安装docker运行依赖库libltdl-dev:

    in container‘s Dockerfile
        RUN apt-get update && apt install -y libltdl-dev

    3 在容器中调用容器执行任务:

    docker run --rm  -v [调度容器数据目录/data]:[计算工具容器数据目录/mnt/work] [镜像]
  • 相关阅读:
    python多版本与虚拟环境
    前端开发:基于cypress的自动化实践
    Selenium 4.0beta:读源码学习新功能
    Selenium 4.0beta: Grid 工作原理
    自己上手写性能工具(三)
    如何实现共享屏幕标注功能?
    资源下载网站
    修改tmux背景色
    使用nas唤醒其他PC主机
    2021.26 富兰克林效应
  • 原文地址:https://www.cnblogs.com/dadream/p/8058922.html
Copyright © 2011-2022 走看看