基本命令和参数
docker run
: 运行一个新的容器实例。-itd
: 组合参数,含义如下:-i
: 以交互模式运行容器,保持标准输入打开。-t
: 分配一个伪终端。-d
: 后台运行容器,即使容器启动后依然返回控制台。
设备映射
--device=/dev/dri
: 将宿主机的/dev/dri
设备映射到容器中。这通常用于显卡加速。--device=/dev/mxcd
: 将宿主机的/dev/mxcd
设备映射到容器中。这个设备的具体用途取决于你的系统配置和应用需求。
用户组和网络配置
--group-add video
: 将容器内的用户添加到video
组,通常用于允许容器访问视频设备。--network=host
: 使用主机的网络栈,这意味着容器将使用主机的 IP 地址和端口。
安全配置
--security-opt seccomp=unconfined
: 取消 seccomp (安全计算模式) 限制,允许容器在更少的限制下运行。这增加了权限,但也增加了安全风险。--security-opt apparmor=unconfined
: 取消 AppArmor 限制,同样减少了安全约束。
内存配置
--shm-size 100gb
: 设置共享内存大小为 100GB。这对于需要大量共享内存的应用(如大型数据集处理、机器学习训练等)很有用。--ulimit memlock=-1
: 取消对内存锁定的限制,允许容器使用无限量的锁定内存。
挂载卷
-v /data/external/:/external
: 将宿主机的/data/external/
目录挂载到容器的/external
目录。这样可以在容器内访问宿主机的这个目录。
容器名称和镜像
--name model_train
: 设置容器的名称为model_train
。