docker使用入门简介

2023-05-16

一、什么是docker?

https://www.docker.com/resources/what-container

使用docker时有两个重要概念,一个是镜像(images),一个是容器(containers)

  1. 镜像就是从docker hub或者自己制作好的一个包,类似压缩包
  2. 容器,就是将镜像run起来后的一个虚拟环境

二、为什么使用docker?

对于我们来说,环境独立且相对轻量,互不影响,后台运行。

三、怎么使用docker?

介绍几个常用命令,方便使用

  1. 首先要知道的是docker运行需要在sudo条件下
# docker版本可以通过运行下述命令完成
sudo docker version
  1. 通过下述命令来查看host拉好的docker镜像
sudo docker images
  1. 这些镜像只是一些包,为了使用这些镜像,需要将镜像转换为容器,拿镜像tensorflow/tensorflow:1.13.1-gpu-py3来说,运行下述命令可以将镜像转为容器(docker 19后的版本使用gpu不需要用nvidia-docker命令了,只需要加上–gpu即可)
sudo docker run -it -p 8080:80 --privileged=true -v /data/share/:/data/share --gpus all --name liuheng_test tensorflow/tensorflow:1.13.1-gpu-py3 /bin/bash

关于怎么使用命令,可以通过docker --help和docker run --help来查看

参数的解释:
1. 上述-it其实是-i 和-t,-i表示要开一个交互式的容器,-t表示开一个伪终端,所以这两经常一起使用
2. -p表示端口映射,前面表示host端口后面表示容器中的端口,上面就是说将容器中的80端口映射到host中的8080端口
3. --privileged,设置为True表示容器内的root有root权限,否则没有,默认没有
4. -v 表示将host中的目录挂载到容器中,为了方面上面取了同样的名字,跑起代码来就不用修改路径了,其中冒号前的表示host中的目录,冒号后面表示容器中的目录,容器中的目录自动创建。还要说明的是-v可以多次使用,也就是可以挂载多个目录
5. --gpus,指定使用哪些gpu,all表示容器可以看见所有gpu
6. --name 表示指定容器名字
7. tensorflow/tensorflow:1.13.1-gpu-py3表示run哪个镜像
8. 最后表示载入容器的bash
  1. 第一次运行的话就可以进入容器了,像一个新的linux环境,输入exit或者ctrl+d,退出容器,退出的同时容器停止run,里面的程序,比如训练程序也会挂。如果想后台运行执行ctrl+p和ctrl+q,这样容器后台运行,训练进程不会挂
  2. 退出后,如果想在次进入容器有下面方式
    如果是exit方式退出的,那么容器停止运行了,想要进入容器需要先启动容器
1. sudo docker start containerID
2. sudo docker attach containerID # 进入容器

如果是退出后,容器仍然运行(即采用ctrl+p和ctrl+q方式退出容器)直接采用attach命令即可重新进入容器
  1. 查看所有容器
sudo docker ps -a 

四、哪里下载容器?

官方的dockerhub已提供很多可以直接使用的docker环境,地址:https://hub.docker.com/

五、关于打包镜像

  1. 将容器保存为镜像
sudo docker commit containerID pytorch1.5 #(pytorch1.5为将打包成的镜像名)
该命令详细使用可以查看sudo docker commit --help
  1. 将打包好的镜像保存成tar文件
sudo docker save pytorch1.5 > pytorch1.5.tar
  1. 将tar文件载入为镜像
sudo docker load < pytorch1.5.tar

掌握上述命名就可以快速上手使用docker了,有其他疑问或者描述纰漏可以留言交流

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker使用入门简介 的相关文章

随机推荐

  • 手动查询硬盘序列号

    win7旗舰版1 开始 运行 输入 xff1a wbemtest 回车 2 单击 34 连接 34 输入 xff1a root cimv2 回车 或者ROOT SecurityCenter 3 单击 34 查询 34 输入 xff1a se
  • VTK笔记-裁剪分割-几何裁剪-vtkClipPolyData

    什么是裁剪分割 VTK加载二维数据和三维数据 xff0c 我们通常观察到的是三视图图像 xff0c 或者是vtkImageReslice获取到的转换矩阵对应的观察点三视图或者是斜平面图像 xff0c 想要看到图像中间部分的渲染结果就要借助
  • github开源项目Bringing-Old-Photos-Back-to-Life实战

    Github项目 xff1a https github com microsoft Bringing Old Photos Back to Life 1 环境 win11 python 3 8 8 torch 1 9 1 torchvisi
  • sapjco3.jar在maven项目中的打包问题

    sapjco3 jar的打包问题 前几天做一个跟SAP系统有关的小功能时 xff0c 项目用到了sapjco3 jar的jar包 xff0c 项目打包部署后报错 com hand sapjco 3 system basedir src ma
  • 记录:c#中使用Selenium之一 使用chrome驱动手机模式浏览

    1 最近研究c 使用各种模拟浏览器的工具 xff0c 下面是Selenium的使用记录 1 xff09 首先使用Nuget搜索以下依赖库 2 xff09 我使用的是手机模式的浏览方式 下面为手机浏览模式设置的代码 xff0c 以移动端百度搜
  • 解决VS平台迁移时报错error MSB8020:The build tools for v141

    将在VS2017上编译的程序放到VS2013中 xff0c 报错 xff1a error MSB8020 The build tools for v141 Platform Toolset 61 39 v141 39 cannot be f
  • C++ 中的char型变量

    最简单的字符数据类型是 char 数据类型 该类型的变量只能容纳一个字符 xff0c 而且在大多数系统上 xff0c 只使用一个字节的内存 以下示例即声明了一个名为 letter 的 char 变量 请注意 xff0c 这里的字符常数就是赋
  • linux下DISPLAY和xhost + 作用

    在Linux Unix类操作系统上 DISPLAY用来设置将图形显示到何处 直接登陆图形界面或者登陆命令行界面后使用startx启动图形 DISPLAY环境变量将自动设置为 0 0 此时可以打开终端 输出图形程序的名称 比如xclock 来
  • 配置 maven 编译的 JDK 版本

    两种方式 xff1a 一 可以修改 MAVEN 的 setting xml 文件 xff0c 统一修改 lt profiles gt lt profile gt lt id gt jdk 1 6 lt id gt lt activation
  • 利用redis的setIfAbsent()方法实现分布式锁

    再集群环境中 xff0c 存在定时任务多次执行 xff0c 浪费资源 xff0c 那么如何避免这种情况呢 xff0c 下面就说明一下如何利用一个注解解决问题 xff0c 利用切面配合redis可以简单实现分布式锁 xff0c 解决定时任务重
  • Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(win7——centos7)

    一 双向拷贝 xff1a 然后 xff0c 还需要通过virtualbox上安装一个增强的工具 此时 xff0c 会在centos上安装一些工具 xff1a 鼠标自动在宿主机 虚拟机之间移出 同时 xff0c 在centos上会出现一个安装
  • Record something about DL

    这篇文章算是DL实践杂谈吧 xff0c 主要是想把自己模型调优和复现算法遇到的一些坑总结一下 xff08 里面的一行字可能是我当时花费了一周甚至更长时间得到的总结 xff09 xff0c 希望能对读者有所帮助 一 熟悉数据 模型是数据的浓缩
  • Image captioning任务常用的评价指标计算

    BLEU ACL 2002Meteor AMTA 2004ROUGE L ACL 2004CIDEr CVPR 2015SPICE ECCV 2016
  • Image captioning评价方法之BLEU (bilingual evaluation understudy)

    文章地址 xff1a BLEU a Method for Automatic Evaluation of Machine Translation 代码地址 非官方 xff1a https github com tylin coco capt
  • Image captioning评价方法之Meteor

    项目地址 xff1a http www cs cmu edu alavie METEOR 代码地址 xff08 非官方实现 xff0c 实现的是项目地址中的1 5版本 xff09 xff1a https github com tylin c
  • Image captioning评价方法之ROUGE-L

    文章地址 xff1a ROUGE A Package for Automatic Evaluation of Summaries 代码地址 非官方 xff1a https github com tylin coco caption 文章由U
  • Image captioning评价方法之CIDEr

    文章地址 xff1a CIDEr Consensus based Image Description Evaluation 代码地址 xff08 非官方 xff0c 且代码实现的是CIDEr D xff09 xff1a https gith
  • Image captioning评价方法之SPICE

    项目地址 xff1a https panderson me spice 上述的项目地址包含了论文地址和代码地址 该方法是由The Australian National University和Macquarie University联合发表
  • R3DS Wrap基本使用方法

    中文的R3DS Wrap软件的教程较少 xff0c 最近刚好实操了一遍 xff0c 特此记录下来 为了描述方便 xff0c 下面将R3DS Wrap简称Wrap 软件官网 xff1a https www russian3dscanner c
  • docker使用入门简介

    一 什么是docker xff1f https www docker com resources what container 使用docker时有两个重要概念 xff0c 一个是镜像 xff08 images xff09 xff0c 一个