p.s.这是萌新自己自学总结的笔记,如果想学习得更透彻的话还是请去看大佬的讲解

目录

    • 镜像与容器
    • 一些命令与镜像命名规范
    • 数据卷
    • 自定义镜像
      • Dockerfile

镜像与容器

当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image),镜像不仅包含应用本身,还包含应用运行所需要的环境、配置、系统函数库。Docker会在运行镜像时创造一个隔离环境,称为容器(container)

镜像仓库:存储和管理镜像的平台,Docker Hub

一些命令与镜像命名规范

docker run:创建并运行一个容器
docker stop:停止容器进程
docker start:启动容器进程
-d:让容器在后台运行
–name mysql:给容器起个名字,必须唯一
-p 3306:3306:设置端口映射(宿主机端口映射到容器内端口)
-e KEY=VALUE:设置环境变量
mysql:指定运行的镜像的名字
docker pull:将远端镜像拉取到本地
docker push:将本地镜像推送到远端
docker images:查看本地所有镜像
docker rmi:删除本地镜像
docker build:构建镜像
docker save:将镜像保存为压缩文件
docker load:将镜像加载到本地
docker ps:查看当前容器的运行状态
docker rm:删除本地容器
docker logs:查看容器运行日志
docker exec:进入容器内部

镜像名称一般分两部分组成:[repository]:[tag]。
● 其中repository就是镜像名
● tag是镜像的版本
在没有指定tag时,默认是latest,代表最新版本的镜

数据卷

**数据卷(volume)**是一个虚拟目录,是容器内目录和宿主机目录之间映射的桥梁

命令 说明
docker volume create 创建数据卷
docker volume ls 查看所有数据卷
docker volume rm 删除指定数据卷
docker volume inspect 查看某个数据卷的详情
docker volume prune 清除数据卷

自定义镜像

镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是将上述文件打包的过程

部署一个java应用的步骤
准备一个Linux容器
安装JRE并配置环境变量
拷贝jar包
运行jar包
。。。。。。。。。。。。。。
构建有一个java镜像的步骤
准备一个Linux运行环境
安装JRE并配置环境变量
拷贝jar包
编写运行脚本

docker会把构建镜像的每一步产生的文件分别打成压缩包,作为镜像的一部分,而不是将每一步产生的文件全部整成一个包作为镜像
而这每一步产生的压缩包称为层(Layer)。进行添加安装包、依赖、配置等每步操作时,每次操作都会产生一个新的层
优点:当你制作好了一个基础镜像后,以后制作镜像可以使用该镜像作为基础,简化了镜像的构建
并且在下载镜像时,如果docker检测到该镜像的前几层在本地有的话就不会重复下载了,节省了空间,提升了下载速度
基础镜像(BaseImage):即应用依赖的系统函数库、环境、配置、文件等
入口(EntryPoint):镜像运行入口,一般指程序启动的脚本和参数这层

Dockerfile

Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来Docker可以根据Dockerfile帮我们构建镜像。常见指令如下:

在这里插入图片描述

总结
镜像包含了应用程序所需要的运行环境、函数库、配置、以及应用本身等各种文件,这些文件分层打包而成
Dockerfile就是利用固定的指令来描述镜像的结构和构建过程,这样Docker才可以依次来构建镜像

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL定时任务详解 - Event Scheduler 事件调度器从基础到实战

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…

redis存储原理与对象模型

redis中的不同线程 redis单线程是指什么? redis的所有命令处理都在同一个线程中完成 redis为什么采用单线程? redis中存在多种数据结构存储value,如果采用多线程,加锁会很复杂、加锁力度不阿红控制,同时&#xff0c…

基于微信小程序的家教服务平台的设计与实现/基于asp.net/c#的家教服务平台/基于asp.net/c#的家教管理系统

基于微信小程序的家教服务平台的设计与实现/基于asp.net/c#的家教服务平台/基于asp.net/c#的家教管理系统

安全审计-iptales防火墙设置

文章目录一、iptales防火墙设置1.ip规则设置2.ip端口规则设置3.删除规则4.INPUT默认设置5.ping、本地访问规则6.保存还原规则7.查看清除规则一、iptales防火墙设置 1.ip规则设置 #允许ip访问本服务器 iptables -I INPUT -s 192.168.205.129 -p tcp -j ACCEPT#允许某IP或某网段…

Linux小白加油站,第二周

1.grep命令中哪个选项可以忽略大小写进行搜索?grep -i 2.如何用grep命令查找包含”error关键字的日志文件并返回文件名?grep -lr3.解释grep命令中^f...d$这个表达式的含义^f:以f开头..:任意两个字符d$:以d结尾4.如何过滤掉文件中的注释行以…

【前端基础】19、CSS的flex布局

一、FlexBox概念 FlexBox翻译为弹性盒子。 弹性盒子是一种用于按行或按列布局元素的一维布局方式。元素可以膨胀以填充额外的空间,收缩以适应更小的空间。我们使用FlexBox来进行布局的方案称为flex布局。二、flex布局的重要概念 两个重要的概念 开启flex布局的元素叫…

Effective C++ 条款46:需要类型转换时请为模板定义非成员函数

Effective C 条款46:需要类型转换时请为模板定义非成员函数核心思想:当模板类需要支持隐式类型转换时,应将非成员函数声明为友元并定义在类内部(或通过辅助函数实现),以绕过模板参数推导的限制,…

用Python对机器学习数据进行缩放

许多机器学习算法期望数据被一致地缩放。 在为机器学习扩展数据时,你应该考虑两种常用的方法。 在这个教程中,您将了解如何为机器学习重新缩放您的数据。阅读完这个教程后,您将知道: 如何从头开始对您的数据进行标准化。如何从…

Application-properties 配置大全

SpringBoot - application.properties 配置大全 SpringBoot项目最重要也是最核心的配置文件就是application.properties,所有的框架配置都需要在这个配置文件中说明,以下配置不会的可以进行查阅并修改 #SPRING CONFIG(ConfigFileA…

MXFP4量化:如何在80GB GPU上运行1200亿参数的GPT-OSS模型

大型语言模型(Large Language Models, LLMs)如GPT-OSS、GPT-4、LLaMA和Mixtral的快速发展显著提升了人工智能的能力边界,但同时也带来了严峻的内存资源挑战。以1200亿参数的模型为例,在FP16精度下仅权重存储就需要约240GB的内存空…

Unity进阶--C#补充知识点--【Unity跨平台的原理】了解.Net

来源于唐老狮的视频教学,仅作记录和感悟记录,方便日后复习或者查找一.什么是.Net.Net是指微软一整套技术体系的统称与代号包含的内容有:框架体系:.Net Frameword, .Net Core, Mono开发语言:C#&a…

论文浅尝 | 提高大型语言模型的数学推理能力的学习定理基本原理(AAAI2025)

笔记整理:兰雅榕,浙江大学硕士生,研究方向为知识图谱、大语言模型论文链接:https://ojs.aaai.org/index.php/AAAI/article/view/33662发表会议:AAAI 20251. 动机提高开源大型语言模型(LLM)的数学…

母猪姿态转换行为识别:计算机视觉与行为识别模型调优指南

母猪姿态转换行为识别:计算机视觉与行为识别模型调优指南 1. 引言 1.1 研究背景与意义 母猪姿态转换行为识别是智能养殖领域的重要研究方向,通过计算机视觉技术自动识别母猪的站立、躺卧、行走等姿态变化,对于监测母猪健康状态、评估福利水平…

K8S集群环境搭建(一)

虚拟机镜像 ubuntu 24 虚拟机网络 虚拟网络–配置 nat模式主机ip配置宿主机ip配置 10.0.0.12 master 2c 10.0.0.15 node1 10.0.0.16 node2 10.0.0.17 node3 10.0.0.20 registersudo vi /etc/netplan/00-installer-config.yaml # 替换为实际文件名 sudo netplan applynetwork:v…

css预编译器实现星空背景图

打造梦幻星空背景:用CSS预处理器轻松实现动态效果 星空背景能为网页增添神秘感和视觉吸引力。通过CSS预处理器(如Sass/Less)可以高效实现可定制化的星空效果,避免重复编写纯CSS代码。以下是 Vue3 组件皮肤具体实现方法和代码示例。…

焊接机器人保护气体效率优化

在现代工业制造领域,焊接机器人的应用日益广泛,而保护气体在焊接过程中起着至关重要的作用。如何优化保护气体的效率,成为焊接技术发展的一个关键考量因素。WGFACS节气装置的出现,为焊接机器人在保护气体效率优化方面带来了显著的…

Portkey-AI gateway 的一次“假压缩头”翻车的完整排障记:由 httpx 解压异常引发的根因分析

笔者最近在本地搭建了Portkey AI Gateway(模型路由网关),然后按照文档中的方式进行测试。结果发现,网关能够接收到请求,但是Python测试的程序却运行报错。Python代码报错信息如下: Traceback (most recent …

什么是Session? PHP编程中Session用法详解

一、Session的基本概念 Session 是 Web 开发中用于在服务器端存储用户临时数据的一种机制,它允许服务器在不同的 HTTP 请求之间识别和跟踪特定用户的状态,本质上是‌服务器为每个用户开辟的临时私有存储空间‌。由于 HTTP 协议本身是无状态的&#xff…

【大模型】AI平台 joyagent 2.0 的部署与测试

github链接:https://github.com/jd-opensource/joyagent-jdgenie 本篇博客记录下自己在配置joyagent的过程,以【手动初始化环境,启动服务】为例,后端调用的deepseek-chat大模型。 前言 JoyAgent是由京东云开源的企业级多智能体系统…

计算机视觉(一):nvidia与cuda介绍

背景与意义 计算机视觉 (Computer Vision, CV) 需要对图像和视频进行处理、特征提取和模型训练,计算量巨大。GPU (图形处理单元) 擅长并行计算,非常适合深度学习、卷积操作、矩阵乘法等场景。NVIDIA 作为 GPU 领域的领导者,推出了 CUDA (Comp…