Docker学习笔记(一):Docker命令总结
Docker命令总结
- 一、Docker介绍
- 1.1 镜像与容器区别
- 二、Docker命令
一、Docker介绍
Docker是一个开源的应用容器引擎,它允许开发者在几乎任何环境中运行应用程序,而无需担心运行环境的问题。Docker的核心概念是容器,它可以将应用程序及其依赖项打包在一起,形成一个独立的环境。这使得开发者可以在不同的机器上复制相同的运行环境,从而实现应用程序的快速部署和迁移。
Docker的主要优点包括:
- 轻量级:Docker容器比虚拟机更轻量,因为它们共享宿主机的操作系统内核。这使得Docker容器启动速度更快,占用资源更少。
- 可移植性:由于Docker容器包含了应用程序的所有依赖项,因此可以在任何支持Docker的环境中运行,无论是在物理机、虚拟机还是在云端。
- 易于管理:Docker提供了强大的镜像管理功能,可以轻松地创建、删除和共享容器镜像。此外,Docker还支持自动化构建和部署,大大提高了开发效率。
- 安全性:Docker容器之间的隔离性较好,可以有效防止应用程序之间的冲突和干扰。此外,Docker还提供了许多安全特性,如命名空间、cgroups和AppArmor,可以帮助保护容器内的应用程序。
- 开源:Docker是一个开源项目,拥有庞大的社区和丰富的资源,包括文档、教程和插件。这使得Docker非常灵活,可以根据需求进行定制和扩展。
1.1 镜像与容器区别
镜像(Image)和容器(Container)是Docker技术中的两个核心概念,它们之间的关系类似于传统计算机中的操作系统和应用程序。
- 镜像(Image):镜像可以看作是一个只读的模板,它包含了创建容器所需的全部内容和元数据。镜像本身并不运行任何程序,而是用来创建容器。一个镜像可以创建多个容器,这些容器之间相互独立。
- 容器(Container):容器是从镜像创建的运行实例,它包含了运行中的应用程序及其所需的依赖项和环境变量。容器是轻量级的,因为它共享了宿主操作系统的内核,这使得容器启动速度非常快,且占用资源较少。
简单来说,镜像定义了容器的行为和属性,而容器则是镜像的运行实例。
二、Docker命令
-
构建镜像
sudo docker build -f ./ultralytics-main/docker/Dockerfile -t yolov8:v0 . -
查看容器
docker imagee -
查看正在运行的容器ID(所有运行过的容器)
docker ps -a -
安装ssh服务/根据运行的容器,直接进入:
docker exec -t -i ubuntu /bin/bash -
运行容器
""" 命令解释 (-d 一直运行;-i 交互式操作; -t 终端;-v 挂载路径 “/home/zzy_ubuntu/share”表示主机路径 “/usr/share/files1”表示docker路径;--gpus表示使用gpu ;“fa50f7fed43a ” 表示容器ID) """ # 一直运行容器,exit不会退出(再次进入需要使用docker exec) sudo docker run -dit --gpus all fa50f7fed43a /bin/bash # 使用GPU sudo docker run -it --gpus all fa50f7fed43a /bin/bash # 使用CPU sudo docker run -t -i 容器id /bin/bash # 运行时挂载 {yolov8:base} 是容器id的tag #### ubuntu挂载 sudo docker run -dit --gpus all -v /home/zzy_ubuntu/share:/workspace/share yolov8:1.0 /bin/bash #### windows挂载 sudo docker run -dit --gpus all -v /mnt/f/python/company_code/Algorithm_architecture/yolov8:/workspace/share yolov8:1.0 /bin/bash -
停止运行容器
sudo docker stop <容器ID> -
删除容器
############################################## 删除容器 sudo docker rm <容器ID前三位> ############################################## 删除镜像 docker rmi -f 镜像id # 删单个 docker rmi -f 镜像id 镜像id # 删多个 docker rmi -f $(docker images -aq) # 删除所有 -
进入容器终端
docker exec -it 容器ID /bin/bash # 此方法需要先通过docker run -dit后台启动 -
保存新镜像(打包tar)
# 使用save参数进行打包,格式如:docker save -o tar文件名称 镜像REPOSITORY:TAG docker commit -m="描述信息" -a="作者" 容器id 目标镜像名: [TAG] ---docker commit -m="最新的yolov8环境-无tensorrt" -a="zhaozhiyuan" 2b22 yolov8:cuda11.6.2-cudnn8302-py38 docker save -o yolov5-v6.2.tar yolov5:v6.2 ---- 将镜像保存为.tar文件,默认保存在当前目录 # sudo docker save <镜像ID> -o /home/yolov8_v0.tar # 其中yolov5:v6.2 是需要保存镜像的REPOSITORY、和TAG;也是上面保存的镜像名称。 -
给镜像打标签和删除标签
# 打标签 sudo docker tag aba01f181a4a webconsole:latest -
容器导出
sudo docker export -o xxx.tar <容器id> -
加载tar镜像
# 使用load进行从tar文件导出镜像 docker load -i yolov5-v6.2.tar # 然后查看是否出现镜像 docker images
相关文章:
Docker学习笔记(一):Docker命令总结
Docker命令总结 一、Docker介绍1.1 镜像与容器区别 二、Docker命令 一、Docker介绍 Docker是一个开源的应用容器引擎,它允许开发者在几乎任何环境中运行应用程序,而无需担心运行环境的问题。Docker的核心概念是容器,它可以将应用程序及其依赖…...
JavaWeb——后端案例
五、案例 1. 开发规范—Restful REST(Representational State Transfer),表述性状态转换,是一种软件架构风格 注: REST是风格,是约定方式,不是规定,可以打破描述模块的功能通常使…...
【CSS】浅学一下filter
目录 1、基本概念 2、用法 3、应用案例 更加智能的阴影效果: 元素、网页置灰 元素强调、高亮 毛玻璃效果 调整网页sepia 褐色值可以实现护眼效果 1、基本概念 CSS filter 属性将模糊或颜色偏移等图形效果(对比度、亮度、饱和度、模糊等等&#…...
Commander One for Mac:强大的双窗格文件管理器,让你的工作效率倍增!
Commander One for Mac是一款功能强大的文件管理工具,具有以下主要功能: 双窗格设计:主界面分为两个窗格,用户可以在左侧窗格中导航和浏览文件系统的目录结构,在右侧窗格中查看文件和文件夹的内容。文件操作ÿ…...
leetcode09-机器人能否返回原点
题目链接: https://leetcode.cn/problems/robot-return-to-origin/?envTypestudy-plan-v2&envIdprogramming-skills 思路: 循环遍历,模拟即可 代码: class Solution {public boolean judgeCircle(String moves) {int n m…...
sublim安装Autoprefixer插件
有时候在写css样式的时候,分不清哪些属性需要前缀,哪些不需要写前缀,sublime text这款编辑器下安装autoprefixer这款插件可以省去很多问题,写起来也很方便。1 确保系统已经安装node.js 可直接去官网上下载并安装,我的系…...
虚拟机Linux硬盘扩容
扩容前(20G): 扩容后(60G): 步骤: 1. 点击 虚拟机 -> 设置 -> 硬件 -> 硬盘(SCSI) -> 扩展(E)... -> 输入想要扩容大大小 -> 扩展(E) 2. 运行虚拟机,查看根目录属于那个文件系统,我的是 /dev/sda1…...
设计模式④ :分开考虑
一、前言 有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。 …...
独占锁ReentrantLock的原理
类图结构 ReentrantLock是可重入的独占锁,同时只能有一个线程可以获取该锁,其他获取该锁的线程会被阻塞而被放入该锁的AQS阻塞队列里面。 首先看下ReentrantLock的类图以便对它的实现有个大致了解。 从类图可以看到,ReentrantLock最终还是使…...
影响代理IP稳定性的因素有哪些?
代理IP作为一种网络服务,在生活中扮演着各种各样的角色。它们可以用于保护隐私、突破访问限制、提高网络安全性等。代理IP的稳定性受到多种因素的影响,下面和大家探讨一下影响代理IP稳定性的因素。 1、网络环境:代理IP所处的网络环境对它的稳…...
使用Docker-compose快速构建Nacos服务
在微服务架构中,服务的注册与发现扮演着至关重要的角色。Nacos(Naming and Configuration Service)是阿里巴巴开源的服务注册与发现组件,致力于支持动态配置管理和服务发现。最近,一位朋友表达了对搭建一套Nacos开发环…...
【Python】不一样的Ansible(一)
不一样的Ansible——进阶学习 前言正文概念Ansible CorePlugins和Modules 插件插件类型编写自定义插件基本要求插件选项文档标准编写插件 添加一个本地插件注册为内置插件指定插件目录 其他一些技巧更改Strategy 结语 前言 Ansible 是一个极其简单的 IT 自动化引擎,…...
分布式图文详解!
分布式理论 1. 说说CAP原则? CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)这3个基本…...
Unity SRP 管线【第五讲:自定义烘培光照】
文章目录 一、自定义烘培光照1. 烘培光照贴图2. 获取光照贴图3. 获取物体在光照贴图上的UV坐标4. 采样光照贴图 二、自定义光照探针三、 Light Probe Proxy Volumes(LPPV)四、Meta Pass五、 自发光烘培 一、自定义烘培光照 细节内容详见catlikecoding.c…...
CentOS快速安装Mysql5.7(Alibaba Cloud Linux兼容)
1、安装 在线下载 http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 下载rpm安装包 [roottheo bin]# cd /usr/local [roottheo local]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm安装rpm [roottheo local]# rpm -iv…...
【css】快速实现鼠标悬浮变色效果
<div class"nav-item"><div class"ic-img"></div><div>切换</div> </div>.nav-item {width: 100rem;height: 45rem;line-height: 45rem;display: flex;text-align: center;justify-content: center;align-items: cent…...
21. Mysql 事件或定时任务,解放双手,轻松实现自动化
文章目录 概念常见操作事件调度器操作查看事件创建事件删除事件启动与关闭事件 精选示例构造实时数据定时统计数据 总结参考资料 概念 Mysql 事件是一种在特定时间点自动执行的数据库操作,也可以称呼为定时任务,它可以自动执行更新数据、插入数据、删除…...
Apache Doris 2.0.2 安装步骤 Centos8
Linux 操作系统版本需求 Linux 系统版本当前系统版本CentOS7.1 及以上CentOS8Ubuntu16.04 及以上- 软件需求 软件版本当前版本Java1.81.8.0_391GCC4.8.2 及以上gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) 1、查看操作系统版本 方法 1:使用命令行 打开终端或…...
Java学习苦旅(二十五)——哈希表
本篇博客将详细讲解哈希表。 文章目录 哈希表概念冲突概念避免冲突哈希函数设计常见哈希函数 负载因子调节解决冲突闭散列开散列(哈希桶) 和java类集的关系 结尾 哈希表 概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关…...
性能分析与调优: Linux 实现 CPU剖析与火焰图
目录 一、实验 1.环境 2.CPU 剖析 3.CPU火焰图 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter192…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
云原生时代的系统设计:架构转型的战略支点
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、云原生的崛起:技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深,传统的 I…...
智警杯备赛--excel模块
数据透视与图表制作 创建步骤 创建 1.在Excel的插入或者数据标签页下找到数据透视表的按钮 2.将数据放进“请选择单元格区域“中,点击确定 这是最终结果,但是由于环境启不了,这里用的是自己的excel,真实的环境中的excel根据实训…...
若依项目部署--传统架构--未完待续
若依项目介绍 项目源码获取 #Git工具下载 dnf -y install git #若依项目获取 git clone https://gitee.com/y_project/RuoYi-Vue.git项目背景 随着企业信息化需求的增加,传统开发模式存在效率低,重复劳动多等问题。若依项目通过整合主流技术框架&…...
