docker学习

安装

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

为了防止后面权限有问题,执行下面这个

sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker

基本操作

获得镜像

docker pull hello-world

在这里插入图片描述
运行

docker run hello-world

在这里插入图片描述

查看当前拥有的镜像

docker image ls

在这里插入图片描述

查看当前拥有的container

docker container ls -a

在这里插入图片描述
交互运行

docker run -ti --rm python:3.7

在这里插入图片描述

交互运行,执行其他命令

docker run -ti --rm python:3.7 bash

在这里插入图片描述
展示所有运行中的容器

docker ps

在这里插入图片描述
展示所有所有的容器,包括未运行的容器

docker ps -a

在这里插入图片描述
停止所有容器

docker stop $(docker ps -a -q)

删除所有容器(删除一个容器,只需要把最后面改成对应的CONTAINER ID就行)

docker rm $(docker ps -a -q)

删除镜像(xxx是IMAGE ID)

docker rmi xxx

nvidia-docker

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

接着测试一下

docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

在这里插入图片描述

创建image

编写Dockerfile

FROM nvidia/cuda:11.6.0-base-ubuntu20.04
# FROM pytorch/pytorch:1.6.0-cuda10.1-cudnn7-runtime
COPY . /
RUN sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install python3 python3-pip -y
RUN pip3 install --upgrade pip
RUN pip3 config set global.index-url https://mirrors.bfsu.edu.cn/pypi/web/simple
RUN pip3 install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
RUN pip3 install -r requirements.txt
CMD ["sh", "predict.sh"]

由于COPY .会把所有的文件复制进去,所以可以编写.dockerignore,语法与.gitignore一样

.idea
*.pth
output
workspace
test_set

接着就是build
进入Dockerfile所在目录,然后执行
(最后一个是image名字)

docker build . -t nightmare4214

image上传dockerhub

登入

docker login

查看一下image id

docker image ls

其中148ec92d55ab 是image id,nightmare4214是dockerhub账号,icml-hqu是仓库名字

docker tag 148ec92d55ab nightmare4214/icml-hqu
docker push nightmare4214/icml-hqu

具体语法如下,tagname像我一样不写就是latest

docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname

拉取

docker pull nightmare4214/icml-hqu
docker container run --gpus "device=0" -m 28g --name icml-hqu --rm -v $PWD/test_set/:/workspace/inputs/ -v $PWD/nightmare4214_outputs/:/workspace/outputs/ nightmare4214/icml-hqu:latest /bin/bash -c "sh predict.sh"

参考
https://nbviewer.org/github/ericspod/ContainersForCollaboration/blob/master/ContainersForCollaboration.ipynb
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
https://docs.docker.com/engine/reference/commandline/container_run/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/12605.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯欲伸手CTF?有多远爬多远

注意:网络安全类比赛 或者说 CTF 参赛不会需要任何费用 只有国赛/省赛有可能会收取一定运维费用 其他比赛都不会收费 望周知。 先来看个特离谱的事情 早上起床看到几位师傅的朋友圈一脸懵,再仔细一看,好嘛。。。。。。 先看看探姬的回复 接下…

如何使用ChatGPT在1天内完成毕业论文

如何使用ChatGPT在1天内完成毕业论文 几天前,亲眼见证了到一位同学花了1天时间用ChatGPT完成了他的毕业论文,世道要变,要学会使用黑科技才能混的下去。废话到此结束,下面说明这么用AI生成自己的论文。 使用工具: 1. P…

VMware vSphere 8.0 Update 1 正式版发布 - 企业级工作负载平台

ESXi 8.0 U1 & vCenter Server 8.0 U1 请访问原文链接:https://sysin.org/blog/vmware-vsphere-8-u1/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2023-04-18,VMware vSphere 8.0 Update 1 正式…

Excel技能之排名,小函数很强大

你还在熬夜加班搞Excel吗? 你还在用手指,指着电脑屏幕,一行一行核对数据吗? 你还在害怕被笑而不敢问同事吗? 赶紧来学Excel,收藏加关注,偷偷地进步!日积月累,必成大器&am…

ADIDAS阿里纳斯励志广告语

系列文章目录 精选优美英文短文1——Dear Basketball(亲爱的篮球)精选优美英文短文2——Here’s to the Crazy Ones(致疯狂的人)“我祝你不幸并痛苦”——约翰罗伯茨毕业致辞“亲爱的波特兰——CJ麦科勒姆告别信” Hi, I’m Gilb…

Java阶段二Day05

Java阶段二Day05 文章目录 Java阶段二Day05截至此版本可实现的流程图为V14UserControllerClientHandlerDispatcherServletHttpServletResponseHttpServletRequest V15DispatcherServletHttpServletResponseHttpServletRequest V16HttpServletRequestHttpServletResponse 反射JA…

【Linux网络服务】DNS域名解析服务服务

一、BIND域名服务基础 服务背景 1在日常生活中人们习惯使用域名访问服务器,但机器向互相只认IP地址,域名与IP地址之间是多对一的关系,一个IP址不一定只对应一个域名,且一个完成域名只可以对应一个IP地址,它们之间转换…

【数据结构】解析队列各接口功能实现

目录 前言: 一、队列概述: 1.队列的概念: 二、队列的各种接口功能实现: 1.初始化队列: 2.入队(尾插): 3.出队(头删): 4.查看队头&#xf…

PyTorch 深度学习实战 | 基于 ResNet 的花卉图片分类

“工欲善其事,必先利其器”。如果直接使用 Python 完成模型的构建、导出等工作,势必会耗费相当多的时间,而且大部分工作都是深度学习中共同拥有的部分,即重复工作。所以本案例为了快速实现效果,就直接使用将这些共有部…

YAML /Excel /CSV?自动化测试测试数据管理应用,测试老鸟总结...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 自动化测试无论是…

ChatGPT实战100例 - (02) 自动出PPT它不香么?

文章目录 ChatGPT实战100例 - (02) 自动出PPT它不香么?一、需求与思路1. 需求:出个PPT,5分钟后要用2. 思路:生成markdown然后转化 二、生成markdown语法的思维导图1. 问题2. 回答 三、把markdown文本转换成PPT ChatGPT实战100例 -…

MIMO-OFDM无线通信技术(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 本代码为MIMO-OFDM无线通信技术及MATLAB实现。分为十章,供大家学习。 📚2 运行结果 主函数部分代码&a…

Mysql安装详细教程

数据库相关概念 而目前主流的关系型数据库管理系统的市场占有率排名如下: Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。 MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle…

逆向-还原代码之(*point)[4]和char *point[4] (Interl 64)

// source code #include <stdio.h> #include <string.h> #include <stdlib.h> /* * char (*point)[4] // 数组指针。 a[3][4] // 先申明二维数组,用它来指向这个二维数组 * char *point[4] // 指针数组。 a[4][5] // 一连串的指针…

知识点学习登记备份信息

知识点记录 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ovilnIi-1681441105895)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211228090433836.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上…

全景丨0基础学习VR全景制作,平台篇第五章:开场封面功能

大家好欢迎观看蛙色平台使用教程 开场封面功能&#xff0c;现已支持开场图片和开场视频两种呈现方式&#xff0c; 分别针对PC端和移动设备访问分别设置呈现图片、视频内容&#xff0c;满足市场主流需求。 开场图片 传达主旨 1、全局-开场封面-图片 2、分别对PC端和移动设备访…

【加载plist文件展示单组数据 Objective-C语言】

一、接下来,我们要为大家演示如何通过加载plist文件,使用UITableView展示单组数据, 1.最后运行起来的效果,是一个什么效果呢,是这样一个效果: 2.这个里面,这就是一个单元格吧, 这就是一个单元格, 这个单元格里面,包括一个图片框、一个TextLabel、一个DetailLabel、…

[CVPR 2020] Regularizing Class-Wise Predictions via Self-Knowledge Distillation

Contents IntroductionClass-wise self-knowledge distillation (CS-KD)Class-wise regularizationEffects of class-wise regularization ExperimentsClassification accuracy References Introduction 为了缓解模型过拟合&#xff0c;作者提出 Class-wise self-knowledge di…

3.rabbitmq-集群

1.修改3台的主机名称,也可以不改 vi /etc/hostname 2.配置各个节点的host文件,让各节点都能识别对方 vi /etc/hosts 192.168.3.132 host-rabbitmq 192.168.3.133 host-rabbitmq2 192.168.3.134 host-rabbitmq3 3.以确保各个节点的cookie文件使用的同一个值 在node1上执行远程命…

PostgreSQL技术内幕(七)索引扫描

索引概述 数据库索引&#xff0c;是将一个表的某些字段的数据进行重新组织的数据库对象。通过使用索引&#xff0c;可以大大加速数据库的一些操作&#xff0c;其背后的思想也很简单朴素&#xff1a;空间换时间。 数据库中的索引&#xff0c;可以类比为一本书的目录&#xff0…