V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drperry
V2EX  ›  程序员

如何设置 docker 容器的默认启动参数

  •  1
     
  •   drperry · 2020-02-26 00:41:18 +08:00 · 4682 次点击
    这是一个创建于 1724 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统是 Ubuntu 18.03LTS,由于最新版 docker 已经原生支持 Nvidia GPU,只需要在启动时加上--gpus 参数即可,不用安装 nvidia docker,所以每次启动 tensorflow 镜像时都必须手动指定--gpus device=0 [以前的--runtime nvidia 参数已经废弃了]

    就类似这样:
    docker run --gpus device=0 -it tensorflow/tensorflow:2.0.1-gpu-py3 bash

    但问题是现在的 Pycharm 并不支持自定义 docker 容器启动参数(只支持-v 等参数,不支持--gpus),就不能够在容器里调用 gpu,所以想通过给 docker 设置容器的默认启动参数来解决

    7 条回复    2020-02-26 08:51:10 +08:00
    zlandjj
        1
    zlandjj  
       2020-02-26 02:24:18 +08:00
    From 之前的 image
    重做构建一个 image, 重写 cmd 或者 entrypoint
    Trim21
        2
    Trim21  
       2020-02-26 03:24:47 +08:00
    @zlandjj #1 这个是 docker run 命令的参数,不是容器内应用的参数。。。
    Trim21
        3
    Trim21  
       2020-02-26 03:27:38 +08:00
    nvkou
        4
    nvkou  
       2020-02-26 03:57:23 +08:00
    没看懂.
    -it 模式下是创建一个伪端交互. 你运行的是 bash. 这个其实可以直接写好你的启动命令
    如果是给容器的参数,在 docker run 里写.比如你容器指定的 gpu
    如果是给容器里应用的参数,多半要使用 -e 指定 environment 实际情况要参考你镜像的说明

    如果你只是懒得打启动命令,写一个 docker-compose 就行了
    d0m2o08
        5
    d0m2o08  
       2020-02-26 08:00:21 +08:00
    docker-compose ? 参数都写到 yml 里
    silverfox
        6
    silverfox  
       2020-02-26 08:09:19 +08:00
    可以参考这个 Issue 中所提到的替代方法 Docker Support --gpus command line option youtrack.jetbrains.com/issue/IDEA-219125
    fdppzrl
        7
    fdppzrl  
       2020-02-26 08:51:10 +08:00 via Android
    alias ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2770 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:08 · PVG 20:08 · LAX 04:08 · JFK 07:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.