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…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
