安装:
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`
标签:容器,xxx,sudo,常用命令,nvidia,镜像,Docker,docker
From: https://www.cnblogs.com/JiangOil/p/16943300.html