docker常用命令

docker的定义和特点

Docker是一个基于go语言的开源应用容器,可将应用的源代码与它的依赖都打包在Docker镜像中。
与虚拟机不同的是虚拟机隔离的是用户之间的整体环境,而Docker用于分离应用之间的环境,它的启动时间比虚拟机要快上许多。
特点

  • 启动速度快
  • 资源利用率高
  • 性能开销小

基本概念

通过与java相关概念对比的方式理解镜像和容器

---
Java实例
Docker镜像容器

Dockers镜像就像是java的一个静止类,每一个容器就是根据某一个类新建的实体

镜像images

Docker镜像加速

因为原生的镜像下载速度非常的慢,所以要配置镜像加速器

$sudo vim /etc/docker/daemon.json

注意要求原文复制以下内容,不要多空格逗号之类的,否则会出现Docker重启失败的错误

{
"registry-mirrors": ["https:/s/docker.mirrors.ustc.edu.cn"]
}

重新启动服务

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

查看当前本地已有的镜像

$docker images

提交生成新的镜像

$docker commit container_id imageid:tag

删除某镜像

$ docker rmi -f REPOSITORY-name
-f表示强制删除,因为删除时可能会有一些未被删除的容器导致不能删除

容器container

查看当前正在运行的容器

$ sudo docker ps

需要查看包括运行和停止的容器

$ sudo docker ps -a

启动Docker 镜像

$sudo run -it docker

启动GPU环境docker

命令行: docker run -it --gpus all image-id

pytorch测试是否能够使用NVIDIA显卡代码

import torch
torch.cuda.is_available()

进入后台运行的容器

docker exec -it container-id /bin/bash
从这个方式退出不会导致容器停止

映射外部地址至容器(调用外部数据)

docker run -it --rm -v $(realpath /home/test):/workspace imageId:Tag

括号里的是外部即本机地址,冒号后的是容器内的地址

删除容器

  • 删除指定容器
    docker rm -f container-id
  • 删除所有终止状态的容器
    docker container prune

查看某容器的错误日志

docker logs container-id

命令start和run 的区别

  • start:打开之前被关闭的容器
  • run:开启一个新的容器,如果要求的镜像不存在,会直接默认下载

docker 镜像版本区别

  • runtime的包,没有cuda的编译工具nvcc
  • devel的,是有cuda的nvcc包的

参考资料

  1. Docker 教程 https://www.runoob.com/docker/docker-tutorial.html
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值