Docker run 命令常用参数

docker run :创建一个新的容器并运行一个命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明:

-it: 以交互模式运行容器;

--gpus all:使用GPU(docker19.03及以上版本,安装nvidia-container-toolkit)

--name="nginx-lb": 为容器指定一个名称;

--ipc=host:共享宿主机的内存;

-v /home/yolov5:/home/yolov5:挂载宿主机目录到容器中;

-w  /home/yolov5/, 指定容器的工作目录;

-p  8080:8080, 指定容器暴露的端口;

-d: 后台运行容器,并返回容器ID;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

-e username="ritchie": 设置环境变量;

--entrypoint  /bin/bash:自启动命令;

--restart=always:在容器退出时总是重启容器;

个人经验:

1.算法训练或推理时,由于部分镜像创建容器时默认内存较小,最好加上--ipc=host,避免算法运行时崩溃;

2.个人习惯加上 -v /etc/localtime:/etc/localtime:ro,使容器时间同宿主机同步,有时可避免算法训练中断、文件时间错误等问题;

3.当使用dockerfile打包自启动镜像时,创建容器调试时可加上--entrypoint /bin/bash来屏蔽先前设置的自启动命令进入容器,查看报错原因,方便重新打包;

4.普通用户使用docker,不用每次输入sudo,而且按tab键,容器名称可自动补齐:

 (1)把user1这个用户加到docker用户组

sudo usermod -aG docker user1

sudo gpasswd -a user1 docker

(2)重启docker

sudo service docker restart

5.直接使用docker commit将容器打包为镜像,即使没有任何改变,容量也会增加,我碰到的是增加几百M,而使用dockerfile打包镜像,不会出现上述现象。

你可能感兴趣的:(docker容器,docker,容器,深度学习)