Docker常用命令

安装:

docker-ce:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-get install docker-ce

nvidia docker:

wget https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb

sudo dpkg -i nvidia-docker_1.0.1-1_amd64.deb

nvidia-docker出2了, 新的nvidia-docker需要最新的docker版本, 安装nvidia-docker可能需要更新docker版本.

Pull:

sudo docker pull ubuntu:16.04

显示已有的镜像:

sudo docker images

删除镜像:

sudo docker rmi xxx

导出镜像:

sudo docker save 2d69 > xxx.tar

导入镜像:

sudo docker load < xxx.tar

导出容器:

sudo docker export 2d69 > xxx.tar

导入容器:

sudo docker import  xxx.tar

显示运行中的容器

sudo docker ps

显示所有容器(包括已经停止的)

sudo docker ps -a

删除容器(不会删除正在运行的)

sudo docker rm $(sudo docker ps -a -q)

从镜像启动一个容器

sudo docker run -it -v /home/lab/Downloads:/mnt/Downloads ubuntu:16.04 /bin/bash

给真实的root权限

  • -privileged=true

提交容器变更到镜像

sudo docker commit 30f name:target

启动某个停止的容器

sudo docker start xxx

进入到某个运行中的容器

sudo docker exec -it 4cd /bin/bash

进入到某个停止的容器

先start,再进入

kill运行中的容器

sudo docker kill 4cd

从目录下的Dockerfile build

sudo docker build . -f xxx -t xxx:xxx

第一个.表示build镜像时的根目录, COPY等命令就是以这个目录为基础的

  • f 用来指定dockerfile, 默认使用根目录下的Dockerfile
  • t 来表示镜像的名子

从docker中cp文件

docker cp xxx:/docker/path  /host/path

DockerHub相关:

登录

sudo docker login

上传

sudo docker push xxxx:xxx

已有容器改名

sudo docker tag xxx:xxx newname:newlabel

更改默认的docker存储地址:

方法1:

编辑/etc/docker/daemon.json 添加:

"data-root": "/mnt/NewDisk/docker",

重启docker服务, 使用docker info来查看新的存储地址

{

`"data-root": "/mnt/NewDisk/docker",`

`"runtimes": {`

    `"nvidia": {`

        `"path": "/usr/bin/nvidia-container-runtime",`

        `"runtimeArgs": []`

    `}`

`}`

}

方法2:

移动/usr/local/docker后, 再建软链接, 但要注意的是复制过程中要保留原始权限

sudo cp -arv /usr/local/docker /new_dir/docker

限制docker的用户权限:

To avoid this, run the container by specifying your user's userid:

$ docker run -u $(id -u):$(id -g) args...

docker-compose:

安装:

pip install docker-compose

运行时要用root权限

可以运行nvidia-docker的 docker-compose.yml

如果需要挂起可以用: tail -f xxx

version: '2.3'

services:

`lab:`

    `image: nvidia/cuda:9.2-cudnn7-devel-ubuntu18.04`

    `runtime: nvidia`

    `command: nvidia-smi`
posted @ 2022-12-02 02:19  酱_油  阅读(68)  评论(0编辑  收藏  举报