找不到docker的易上手教程,小白看着网上一圈的教程无从下手,也不清楚它们具体是做啥的,还好有同学指导了一下,现在总结一下如何快速使用docker~
基础概念
- 镜像
- 类似于虚拟机的.iso文件
- 容器
- 类似于一个虚拟机
- 镜像
拉取镜像
可以从docker hub网站搜索自己想要的镜像及版本
- docker pull 【镜像名】
- 例如 docker pull pytorch/pytorch:2.0.0-cuda11.7-cudnn8-devel
新建容器并运行
- docker run --gpus all -v 【本机路径】:【容器路径】 -it 【镜像名/id】 /bin/bash
- 例如 docker run --gpus all -v E:\:/app -it pytorch/pytorch:2.0.0-cuda11.7-cudnn8-devel /bin/bash
-v(Volume 挂载)
作用:将主机(宿主机)的目录或文件挂载到容器内部,实现数据共享或持久化。
-it(交互式终端)
作用:以交互模式运行容器,并分配一个伪终端(TTY)。
分解说明:
-i(--interactive):保持标准输入(STDIN)打开,允许与容器交互。
-t(--tty):为容器分配一个伪终端,支持命令行操作。
典型用途:
需要与容器内 Shell 交互时(如运行 /bin/bash),必须加上 -it。
查看镜像/容器
- 查看镜像:docker images
- 查看正在运行的容器:docker ps
- 查看所有容器:docker ps -a
启动容器
- docker start -ai 容器id
- -ai 是进入交互终端,此时输入exit会关闭容器
- docker exec -it my_container /bin/bash
- 进入一个已经启动的容器,此时输入exit不会关闭容器
退出容器
- 会关闭容器:exit
停止容器
docker stop 容器id
删除容器
docker rm 容器id
Compose
- 新建
- docker-compose build 容器名
- 启动
- docker-compose up 容器名 -d
- 删除
- docker-compose down 容器名
- docker-compose down 容器名 -v:删除
- 重启
- docker-compose restart 容器名
- 使用.yml文件
- docker-compose -f ./docker-compose-hpc.yml up -d
- docker-compose -f ./docker-compose-hpc.yml down