文章目录
常用的命令
docker ps -a
docker images
sudo docker exec -it 容器ID /bin/bash
docker run --gpus all -it -p 8000:22 -v [本地文件夹的路径]:[docker容器中映射的目标文件夹路径] --name deepmask 镜像ID /bin/bash
docker rm -f <containerid>
docker run -it -v /tmp/.x11-unix:/tmp/.x11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE --net=host -v ./file:/home -w /home --gpus all ubuntu:18.04 /bin/bash
docker stop containid
docker start containid
docker 镜像操作
列出本机已有的镜像
docker image ls 或 docker images
删除一个镜像
docker rmi [镜像标签或镜像id]
docker image rm [镜像标签或镜像id]
docker 容器操作
停止/启动容器
docker stop/start 容器ID或容器名
列出所有容器
docker ps -a
列出正在运行的容器
docker ps
删除指定容器
docker rm -f
启动(新建容器)
docker run --gpus all -it -p 8000:22 -v [本地文件夹的路径]:[docker容器中映射的目标文件夹路径] --name deepmask 镜像ID /bin/bash
进入运行中的容器
sudo docker exec -it 775c7c9ee1e1(容器ID) /bin/bash
暂停容器
$ docker pause
杀死容器
$ docker kill
从文件中加载镜像
$ docker load --input {file-name}.tar.bz2
将容器打包成镜像
docker commit <container-name> [image][:tag]
--change='ENTRYPOINT ["/start.sh"]':修改启动文件
dockerfile构建镜像
docker build -t IMAGE[:TAG] –f Dockerfile {dockerfile path}
创建容器参数:
$ docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG....]
Options
-- name: 容器名字
--d: 后台运行容器
--rm: 容器退出后删除容器
-v: 数据卷挂载
-p: 端口映射
-P: 映射所有暴露的端口
-e: 设置容器中的环境变量
-t: 开启终端
-i: 打开标准输入
-u: 设置用户的UID
-w: 设置容器中的工作目录
-m: 内存限制
--cpuset-cpus: 设置容器具体使用的CPU
--add-host: 增加hosts到容器的/etc/hosts
--privileged: 打开特权模式
nvidia docker gpus工具的安装与使用方法
1.添加源
添加包存储库,在终端依次输入以下命令:
$distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
2.下载
$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
3.重启docker服务
$ sudo systemctl restart docker
4.测试及使用方法
sudo docker run --gpus all nvidia/cuda:11.0-base nvidia-smi
使用docker run命令创建容器是加上–gpus all 即可
图形化界面显示
Step1.在本地宿主机上安装x11界面服务
命令:
$ sudo apt-get install x11-xserver-utils
$ xhost +
这两句的作用是开放权限,允许所有用户,当然包括docker,访问X11的显示接口。
Step2. 在启动docker容器时,添加选项如下:
-v /tmp/.x11-unix:/tmp/.x11-unix \ #共享本地unix端口
-e DISPLAY=unix$DISPLAY \ #修改环境变量DISPLAY
-e GDK_SCALE \ #这两个是与显示效果相关的环境变量,没有细究
-e GDK_DPI_SCALE
完整命令:
docker run -it -v /tmp/.x11-unix:/tmp/.x11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE --net=host ubuntu:18.04 /bin/bash
获取镜像
-
命令从Docker Hub中获取一个镜像,例如
docker pull ubuntu
命令将获取最新版本的Ubuntu镜像。其命令格式为:
$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
dockerhub链接地址 https://hub.docker.com/
-
其他Docker Registry获取:除了Docker Hub之外,还可以从其他Docker Registry获取镜像。可以使用
docker pull
命令并指定Registry的URL和镜像名称,例如docker pull registry.example.com/myimage
命令将从registry.example.com获取myimage镜像。 -
通过Dockerfile构建:可以使用Dockerfile定义一个自定义镜像,并使用
docker build
命令构建该镜像。Dockerfile是一个文本文件,其中包含一系列指令以描述如何构建镜像。 -
从容器导出:可以使用
docker export
命令将一个正在运行的容器导出为一个tar文件,并将其作为一个镜像导入到其他Docker宿主机上,例如docker export mycontainer > myimage.tar
将导出mycontainer容器,并将其保存为myimage.tar文件。 -
从镜像文件导入:可以使用
docker load
命令从一个tar文件中导入一个镜像,例如docker load < myimage.tar
将从myimage.tar文件中导入镜像。