docker使用命令笔记
docker使用命令笔记
- 1. 安装docker
- 2. 拉取镜像
- 3. 镜像与容器
- 4. 基于镜像创建容器
- 4. 操作创建好的容器
- 5. docker文件传输
- 6. ubuntu的docker的一些基本环境搭建
记录docker的一些使用命令
1. 安装docker
遵循官方安装说明即可,windows需要下载docker desktop后在docker终端内执行命令,而ubuntu则使用终端遵循说明安装,本文主要针对具体的使用。
2. 拉取镜像
按照官方提供的名字拉取对应镜像,例如ubuntu镜像:
docker pull ubuntu:18.04
或是nvidia提供的cuda官方镜像:
docker pull nvidia/cuda:12.1.0-cudnn8-devel-ubuntu20.04
3. 镜像与容器
可以简单理解为,镜像类似于操作系统的安装盘,它是静态的,无法被改变的。而容器类似于一台具体的电脑(当然它是虚拟的),它安装好了操作系统,能够被启动,运行,修改和关闭。
你可以基于镜像去创建多个容器,也可以把一个容器关机后保存为一个镜像。当你试图把docker虚拟机保存为单个磁盘文件时,必须基于镜像来导出一个文件,也只能从文件导入镜像,再基于镜像去创建一个容器实例。
如果你想要运行什么程序,执行什么功能,那么必须在一个运行的容器中执行。
镜像包含一个名字和一个版本号,由分号隔开,一个名字的镜像系列中可以有很多个不同版本号的版本构成继承关系。
查看正在运行的容器
docker ps
查看所有的容器
docker ps -a
查看所有的镜像
docker images
删除容器(容器必须已经stop)
docker rm 【容器名】
删除镜像(不能存在依赖于该镜像的容器)
docker rmi 【镜像名】
4. 基于镜像创建容器
基于镜像image1:1.1创建并运行一个容器container1,进入它的bash界面:
docker run --name container1 -it image1:1.1 bash
以下为一些可选的参数:
构造nivdia的cuda运行环境
docker run --name container1 --runtime=nvidia --gpus all -it image1:1.1 bash
将外部实际主机的3000端口与docker内部的8080端口绑定,访问其中一个端口等价于访问另一个端口:
docker run --name container1 -p 3000:8080 -it image1:1.1 bash
将外部实际主机的/main_dir与docker内部的/docker_dir路径绑定,访问其中一个文件夹路径等价于访问另一个路径,文件改动也会完全一致:
docker run --name container1 -v /main_dir:/docker_dir -it image1:1.1 bash
如果需要绑定多个端口和路径,增加多个相同参数即可。
注:共享端口与共享文件夹必须在第一次创建容器时设置完成,一旦容器创建完成后,该参数就不可再进行修改。修改的唯一方法是把当前容器保存为一个新的镜像,再基于该镜像,重新创建一个新的容器的同时配置相应的参数。
4. 操作创建好的容器
启动容器
docker start 【容器名】
关闭容器
docker stop 【容器名】
重启容器
docker restart 【容器名】
进入一个已经启动的容器的bash终端
docker exec -it 【容器名】 bash
容器转化为镜像
docker commit 容器id 新镜像名称:版本号
镜像转化为磁盘文件
docker save -o 压缩文件名称 镜像名称:版本号
从磁盘文件加载镜像
docker load -i xxx.tar
5. docker文件传输
一种方法是配置了绑定文件夹,这样你在主机把文件放入,docker就可以读取,反之亦然(但是要注意添加文件的访问权限)。
另一种方法是直接用命令拷贝文件,例如:
docker cp 本地磁盘路径 docker名:docker内文件路径
6. ubuntu的docker的一些基本环境搭建
下载基础镜像
docker pull ubuntu:18.04
安装基本环境
apt-get update
apt-get install sudo dialog apt-utils vim less screen curl screen systemctl git language-pack-zh-hans build-essential cmake
安装中文编码
locale-gen zh_CN.UTF-8
echo "export LC_ALL=zh_CN.UTF-8">> ~/.bashrc
source ~/.bashrc
配置screen默认启动bash
vi ~/.screenrc
在配置文件中添加:
defshell -bash
保存退出即可。
相关文章:
docker使用命令笔记
docker使用命令笔记 1. 安装docker2. 拉取镜像3. 镜像与容器4. 基于镜像创建容器4. 操作创建好的容器5. docker文件传输6. ubuntu的docker的一些基本环境搭建 记录docker的一些使用命令 1. 安装docker 遵循官方安装说明即可,windows需要下载docker desktop后在doc…...
字典树与01trie
字典树简介 当我们通过字典查一个字或单词的时候,我们会通过前缀或关键字的来快速定位一个字的位置,进行快速查找。 字典树就是类似字典中索引表的一种数据结构,能够帮助我们快速定位一个字符串的位置。 字典树是一种存储字符串的数据结构…...
vue - [Vue warn]: Duplicate keys detected: ‘0‘. This may cause an update error.
问题描述: vue项目中,对表单数组赋值时,控制台抛出警告: 问题代码: 问题分析: 1、Vue 要求每个虚拟 DOM 节点必须有唯一的 key。该警告信息通常出现在使用v-for循环的场景中,多个同级节点使用…...
mysql中show命令的使用
在 MySQL 中,SHOW 命令是一个非常实用的工具,用于查询数据库元数据(如数据库、表、列、索引等信息)。以下是常见的 SHOW 命令及其用法: 1. 显示所有数据库 SHOW DATABASES;列出服务器上的所有数据库。 2. 显示当前数据…...
各类神经网络学习:(三)RNN 循环神经网络(中集),同步多对多结构的详细解释
上一篇下一篇RNN(上集)RNN(下集) 同步多对多结构 1)结构详解 ①图解: ②参数含义: x t x_t xt :表示每一个时刻的输入; o t o_t ot :表示每一个时刻的输…...
Python Web 框架 Django、Flask 和 FastAPI 对比
在探索 Python Web 框架时,Django、Flask 和 FastAPI 无疑是最常被提及的名字。根据我们最新的 Python 开发者调查,这三大框架继续稳坐后端 Web 开发的热门宝座。它们均为开源项目,并且与 Python 的最新版本无缝兼容。然而,面对不…...
Hyperlane 似乎是一个轻量级、高性能的 Rust HTTP 服务器库
关键要点 Hyperlane 是一个轻量级、高性能的 Rust HTTP 服务器库,适合简化网络服务开发。它支持 HTTP 请求解析、响应构建、TCP 通信,并提供中间件、WebSocket 和服务器发送事件(SSE)功能。安装通过 cargo add hyperlane 完成&am…...
【计算机网络运输层详解】
文章目录 一、前言二、运输层的功能1. 端到端通信2. 复用与分用3. 差错检测4. 流量控制5. 拥塞控制 三、运输层协议:TCP 和 UDP1. TCP:面向连接的可靠传输协议2. UDP:无连接的传输协议 四、端口号与进程通信1. 端口号分类2. 端口通信模型 五、…...
UR5e机器人位姿
UR5e 作为一款 6 自由度协作机器人,其末端执行器的位姿(位置与姿态的组合)控制是实现精准操作的核心。在笛卡尔坐标系中,位姿通常用齐次变换矩阵表示,包含末端的三维位置(x, y, z)和三维姿态&am…...
导入 Excel 规则批量修改或删除 PDF 文档内容
需要对 PDF 文档内容进行修改的时候,通常我们会需要借助一些专业的工具来帮我们完成。那我们如果需要修改的 PDF 文档较多的时候,有什么方法可以帮我们实现批量操作呢?今天这篇文章就给大家介绍一下当我们需要批量修改多个 PDF 文档的时候&am…...
大模型tokenizer重构流程
大模型tokenizer层再训练(选取Qwen7B试验,重构token层) 最近公司可能想训练一个蛋白质大模型,需要了解一下大模型tokenizer重构,之后可能要训练,这里做了一定的总结。 文章目录 1. 首先查看Qwen2.5 7B基本…...
JAVA线程安全的集合类分类
1. 传统同步集合类(早期实现,性能较低) Vector 动态数组实现,所有方法通过 synchronized 同步锁保证线程安全。 Stack 继承自 Vector,实现后进先出(LIFO)堆栈,同步锁机…...
ISIS-1 ISIS概述
前面几章我们介绍了OSPF的基础工作原理以及怎样交互LSA形成LSDB链路状态数据库的 这一章我们来介绍另一个链路状态路由协议,ISIS路由协议 一、概述 ISIS(Intermediate System to Intermediate System,中间系统到中间系统)是由ISO(International Organization for Standardiza…...
茱元游戏TV2.9.3 | 适配多设备的经典街机游戏集合
茱元游戏TV是一款专为TV端设计的游戏软件,同时适配手机、投影仪和车机等多种设备。尽管其兼容性一般,仅支持安卓9.0以上系统,但它提供了丰富的经典街机游戏资源,非常适合8090后怀旧游玩。注意,游戏需先下载才能玩&…...
RTD2525BE《HDMI转EDP,DP转EDP》显示器芯片
一、产品概述 瑞昱RTD2525BE是一款专为高端显示设备设计的多接口转换芯片,支持HDMI 2.0与DisplayPort(DP)1.4双输入,并高效转换为嵌入式DisplayPort(eDP)输出。该芯片集成先进信号处理技术,支持…...
SvelteKit 最新中文文档教程(10)—— 部署 Cloudflare Pages 和 Cloudflare Workers
前言 Svelte,一个语法简洁、入门容易,面向未来的前端框架。 从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 6 年一直是开发者最感兴趣的前端框架 No.1: Svelte …...
springboot使用阿里限流框架-sentinel
当前项目源码 控制台下载 启动bin中的看板服务:账号密码:sentinel/sentinel 官方文档地址 项目引入依赖 <!-- sentinel注解支持 --> <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-annotation-aspectj<…...
鸿蒙特效教程10-卡片展开/收起效果
鸿蒙特效教程10-卡片展开/收起效果 在移动应用开发中,卡片是一种常见且实用的UI元素,能够将信息以紧凑且易于理解的方式呈现给用户。 本教程将详细讲解如何在HarmonyOS中实现卡片的展开/收起效果,通过这个实例,你将掌握ArkUI中状…...
Qt在模块依靠情况下资源文件名称和资源名称的使用限制
概述 在Qt中使用添加资源文件的时候,对于资源文件名称的定义,往往是较为随意的。 但是当涉及到Qt库依赖的时候,则可能需要遵守一定的规则,否则可能出现文件找不到或者错误加载的问题。 环境 环境名称Qt 版本系统版本LinuxQt 5.…...
MTK Android12-Android13 设置系统默认语言
Android 系统,默认语言 文章目录 需求:场景 参考资料实现方案实现思路编译脚本熟悉-平台熟悉mssi_64_cnkernel-4.19 解决方案修改文件-实现方案 源码分析PRODUCT_LOCALES 引用PRODUCT_DEFAULT_LOCALE 定义get-default-product-locale 方法定义PRODUCT_DE…...
【003安卓开发方案调研】之ReactNative技术开发安卓
基于2025年最新行业动态和搜索资料,以下是针对国内使用React Native(RN)开发安卓应用的深度分析: 一、技术成熟度评估 1. 核心架构升级 新架构全面普及:2024年起,React Native的 新架构(Fabri…...
CSS3学习教程,从入门到精通,CSS3 浮动与清除浮动语法知识点及案例代码(14)
CSS3 浮动与清除浮动语法知识点及案例代码 一、浮动基础 浮动语法 选择器 {float: left|right|none|initial|inherit; }left:元素向左浮动。right:元素向右浮动。none:默认值,元素不浮动。initial:使用默认值。inhe…...
贪心算法——思路与例题
贪心算法:当我们分析一个问题时,我们往往先以最优的方式来解决问题,所以顾名思义为贪心。 例题1 题目分析:这题利用贪心算法来分析,最优解(可容纳人数最多时)一定是先考虑六人桌,然…...
网络华为HCIA+HCIP 防火墙
防火墙部署模式 路由模式 有路由器的功能 路由器干的活 他都得干 透明模式 旁挂模式 IDS 端口镜像 VPN...
WordPress超级菜单插件UberMenu v3.78汉化版
一、插件介绍 UberMenu 是一款功能强大的 WordPress 超级菜单插件,能够帮助站长创建响应式、可自定义的多级菜单。该插件支持动态内容加载、图标、图片、搜索框等丰富功能,并且兼容大多数 WordPress 主题。 UberMenu v3.78 经过完整汉化,适用于中文站点用户,让操作更加直观…...
SQL中体会多对多
我们可以根据学生与课程多对多关系的数据库模型,给出实际的表数据以及对应的查询结果示例,会用到JOINLEFT JOIN两种连接 1. 学生表(students) student_idstudent_name1张三2李四3王五 2. 课程表(courses)…...
23种设计模式-备忘录(Memento)设计模式
备忘录设计模式 🚩什么是备忘录设计模式?🚩备忘录设计模式的特点🚩备忘录设计模式的结构🚩备忘录设计模式的优缺点🚩备忘录设计模式的Java实现🚩代码总结🚩总结 🚩什么是…...
2024年3月全国计算机等级考试真题(二级C语言)
😀 第1题 下列叙述中正确的是 A. 矩阵是非线性结构 B. 数组是长度固定的线性表 C. 对线性表只能作插入与删除运算 D. 线性表中各元素的数据类型可以不同 题目解析: A. 矩阵是非线性结构 错误。矩阵通常是二维数组,属…...
计算机网络基础之三种交换技术及其性能分析
一. 交换技术基础 1. 三种交换技术 电路交换:用于电话网络报文交换:用于电报网络分组交换:用于现代计算机网络 2. 人类历史上的通信网络 #mermaid-svg-AeGvrkUbCkicFOIo {font-family:"trebuchet ms",verdana,arial,sans-serif;…...
使用python爬取网络资源
整体思路 网络资源爬取通常分为以下几个步骤: 发送 HTTP 请求:使用requests库向目标网站发送请求,获取网页的 HTML 内容。解析 HTML 内容:使用BeautifulSoup库解析 HTML 内容,从中提取所需的数据。处理数据ÿ…...
