docker常用命令

[ ]内是需要自定义的内容


镜像

查看镜像

docker images
docker images | grep [nvidia]

运行镜像

docker run -dit --name [ubuntuFirst (这个名字任意起)] [镜像id] /bin/bash

上述指令执行后会返回容器id,可供之后进入容器使用,类似:

$ docker run -dit e135 /bin/bash
cc6d96c06c7b86c99e6676eead642dfe3c5c786c0fbda62c237280e4decf4c75

如果安装了nvidia-docker的话,可以在容器中使用GPU

#### Test nvidia-smi with the latest official CUDA image
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi

# Start a GPU enabled container on two GPUs
docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi

# Starting a GPU enabled container on specific GPUs
docker run --gpus '"device=1,2"' nvidia/cuda:10.0-base nvidia-smi
docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:10.0-base nvidia-smi

# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
docker run --gpus all,capabilities=utility nvidia/cuda:10.0-base nvidia-smi

修改镜像标签

docker tag pytorch_gpu_from_ckj_tf_gpu:v1.0 192.168.137.10:8888/ansheng_pytorch/pytorch_from_ckj_tf_gpu:v1.0 //给需要上传到镜像仓库的的镜像打上对应标签

上传镜像

上传前需要登录

docker login 219.216.99.4:8888 -u [镜像仓库用户名] // 执行后需要输入密码
  • 通常只需要登陆一次,以后会默认上传至这个镜像仓库
docker push 192.168.137.10:8888/ansheng_pytorch/pytorch_from_ckj_tf_gpu:v1.0  //将打过标签的镜像上传到镜像仓库

commit容器成为镜像

docker commit [OPTIONS] <CONTAINER> <NEW-IMAGE-NAME>

将镜像保存成文件

docker save -o [java8.tar (文件名)] [lwieske/java-8 (镜像名)]
docker load < java8.tar
docker import java8.tar [lwieske/java-8 (镜像名)]

删除镜像

docker rmi [镜像全称或镜像ID]

虚悬镜像

虚悬镜像 : 镜像没有仓库名或没有标签
查询显示、删除虚悬镜像

docker images -f dangling=true
docker rmi $(docker images -q -f dangling=true) 

容器

查看容器

查看正在运行的容器

docker ps
docker ps -a
docker ps | grep []

进入容器

docker exec -it [容器id] /bin/bash
  • 正在运行的容器可以多次进入

启用已经退出的容器:

docker start [容器id]

向运行的容器中拷贝文件

docker cp [本地文件路径] [容器ID或者name]:[/home/Downloads]

保存容器为镜像

进入另一个终端

docker [commit -m "install python3.7"] [a540c485cd64 (容器ID)] [ubuntuwithpython:v1.0 (需要保存的镜像名)]
  • 容器中的操作不会影响原有的镜像,因此必须将修改后的容器保存成新的镜像
  • 建议可以在保存镜像名时直接保存成上传至镜像仓库的标签名称

退出容器

  • 在容器环境中按 ctrl+d 即可退出当前容器,返回之前的环境
  • 如果容器修改完毕,则应将容器关闭、删除,避免浪费系统资源
docker kill [容器ID]  //杀死这个镜像所在的容器
docker rm [容器ID]  //删除这个容器(杀死和删除一定要执行,要不然耗费资源)

windows 到 docker 互传文件

docker cp  windows文件路径    容器名字:容器路径

Docker配置

若登录Harbor失败,则修改配置文件

  • Linux下:/etc/docker/daemon.json
{
    "insecure-registries":[
        "219.216.101.242:8888",
        "219.216.101.107:8888"
    ],
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

重启docker服务

systemctl daemon-reload
systemctl restart docker
  • Windows下
    在这里插入图片描述
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值