当前位置: 首页 > news >正文

Docker基础知识

文章目录

  • Docker

Docker

一次构建,处处运行,类似于JVM

虚拟机是软件+硬件(需要Hypervisors实现硬件资源虚拟化):

  • 资源占用大
  • 启动慢(虚拟机是分钟级,Docker是秒级)
  • 冗余步骤多

sha256的哈希码

:tag 表示版本标签

开发/运维(DevOps)

docker采用分层文件结构UnionFS(联合文件系统),因为存在镜像依赖,方便后期共享资源,数据持久化和容器继承

dockerfile是用来构建Docker镜像的构建文件,由一系列命令和参数构成的脚本,拥有自身的一套保留字指令

FORM
# 指出当前镜像基于什么,例如scratch就是docker中所有镜像的Base镜像(父镜像)
MAINTAINER
# 作者信息
RUN
# 构建镜像过程中所需要运行的命令
EXPOSE
# 指定容器对外暴露出的端口号
WORKDIR
# 默认登录后的操作目录(落脚点),pwd显示的目录地址
ENV
# 用来设置环境变量
COPY
# 拷贝文件
ADD
# 拷贝+处理并解压缩宿主机中的url或tar包
VOLUME
# 指定容器数据卷
CMD
# 指定容器启动时要运行的命令,可以有多个,但只有最后一个生效,会被docker run之后的参数替换
ENTRYPOINT
# 指定容器启动时要运行的命令,docker run之后的参数追加
ONBUILD
# 类似于触发器,父镜像被子镜像继承后触发相应动作
  • 编写dockerfile后重新构建生成自定义的镜像命令
docker build -f /dockerfile地址 -t tylt6688/xxx:1.0 .
  • 下载镜像
docker pull xxx 
  • 运行当前名称的镜像,本地优先
docker run
args --name="xxx"  为容器指定别名-it    以交互模式运行容器并j分配一个伪输入终端-d     以守护进程方式后台运行容器-p 8888:8080 指定(外部:内部)端口映射-P 端口随机分配,可使用ps命令查看具体外部端口-v /宿主机绝对地址:/容器内相对地址
  • 查看镜像生成的容器以及信息
docker ps
args  -a-n 3 查看最近几个
  • 验证docker版本号
docker version 
  • 安装docker当前信息
docker info    
  • docker帮助命令
docker --help
  • 列出本地镜像
docker images
args  -a-q 显示镜像id
  • 查询某个镜像
docker search xxx
  • 点赞数超过30的镜像
docker search -s 30 xxx
  • 删除镜像,删除多个镜像中间加空格
docker rmi xxx
args  -f 强制删除
  • 启动容器
docker start xxx
  • 重启容器
docker restart xxx
  • 停止容器
docker stop xxx
  • 强制关闭容器
docker kill xxx
  • 删除已停止的容器
docker rm xxx
  • 进入指定容器命令行
docker exec -it xxx /bin/bash
  • 对当前容器修改后重新打包镜像
docker commit -m="备注内容" -a="作者" containerid tylt6688/container:1.0
  • 以 Json 串的形式描述整个容器
docker inspect
  • 进入容器内部
docker attach xxx
  • 查看镜像构建历史
docker history xxx
  • 针对某个容器执行某些命令
docker exec xxx java -version

相关文章:

Docker基础知识

文章目录 Docker Docker 一次构建,处处运行,类似于JVM 虚拟机是软件硬件(需要Hypervisors实现硬件资源虚拟化): 资源占用大启动慢(虚拟机是分钟级,Docker是秒级)冗余步骤多 sha2…...

swoole 是什么?

Swoole是一个为PHP用C和C编写的基于事件的高性能异步& 协程并行网络通信引擎; 使 PHP 开发人员可以编写高性能的协程 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IO…...

我想要一个勋章

目录 一、背景二、过程三、总结 一、背景 十年前结缘,也许是冥冥中自有天注定,注定要给自己多加一个今天的节日。 二、过程 一个勋章,一个有意义的标志。 一个勋章,一个时间轮上的帧。 一个勋章,一个二进制的节点。…...

微信小程序设计之主体文件app-json-pages

一、新建一个项目 首先,下载微信小程序开发工具,具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后,注册小程序账号,具体注册方法,可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…...

C语言-面试题实现有序序列合并

要求: a.输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。 数据范围: 1≤n,m≤1000 1≤n,m≤1000 , 序列中的值满足 0≤val≤30000 输入描述: 1.输入包含三行, 2.第一行包含两个正整数n, m&am…...

Android12 启动页适配

印象中,在2022年末接到了一个针对Android12启动页适配的需求,当时也使用了一些适配方案,也写了一个Demo,但是最终没有付诸适配行动;当然并不是适配失败,而是根据官方适配方案适配后太丑了… 1024纪念文章&a…...

【微服务保护】初识 Sentinel —— 探索微服务雪崩问题的解决方案,Sentinel 的安装部署以及将 Sentinel 集成到微服务项目

文章目录 前言一、雪崩问题及其解决方案1.1 什么是雪崩问题1.2 雪崩问题的原因1.3 解决雪崩问题的方法1.4 总结 二、初识 Sentinel 框架2.1 什么是 Sentinel2.2 Sentinel 和 Hystrix 的对比 三、Sentinel 的安装部署四、集成 Sentinel 到微服务 前言 微服务架构在现代软件开发…...

20231023 比赛总结

比赛链接 反思 A 花了很长时间,幸亏没怎么调就对了,以后还是应该先看其他题的 括号匹配题的套路感觉没有掌握透,感觉无非就是单调栈,哈希,折线图 B 感觉比 T 1 T1 T1 简单 C 正解还是很妙的,但 68…...

Vite创建vue3+ts+pinia+vant项目起步流程

pnpm介绍&安装 本质上他是一个包管理工具,和npm/yarn没有区别,主要优势在于 包安装速度极快磁盘空间利用效率高 安装: npm i pnpm -g使用: npm命令pnpm等效npm installpnpm installnpm i axiospnpm add axiosnpm i webpa…...

JVM 类的加载子系统

文章目录 类的加载过程加载阶段链接阶段初始化 类的加载器测试代码中获取对应的加载器获取加载器加载的路径不同类对应的加载器自定义加载器自定义加载器的方式 获取类的加载器的方式双亲委派机制双亲委派机制的好处 Java 的 SPI 机制1. 接口定义2. 具体实现3. 配置 META-INF/s…...

什么是1024程序员节

一年一度专属于程序员的节日“1024程序员节”要到来了,相信有很多的小伙伴跟我一样,对这个节日非常的熟悉,但也有一下小伙伴对这个节日非常陌生,没事,下面由我来讲解一下1024程序员节。 目录 节日背景 节日由来 社…...

spark获取hadoop服务token

spark 作业一直卡在accepted 问题现象问题排查1.查看yarn app日志2.问题分析与原因 问题现象 通过yarn-cluster模式提交spark作业,客户端日志一直卡在submit app,没有运行 问题排查 1.查看yarn app日志 appid已生成,通过yarn查看app状态为…...

Simulink 最基础教程(一)

1.1基本概念 一个典型的Simulink模型大致如上图这样: 1)模块 block:图中画圈的那些,每个模块可以完成一些特定的任务,类似MATLAB中函数的概念。软件提供了很多模块,当然也可以自定义新的模块 2&#xff0…...

微信小程序:单行输入和多行输入组件

微信小程序提供了两种输入类型的输入框组件&#xff0c;分别是单行输入框 <input> 和多行输入框 <textarea>。 1. 单行输入组件&#xff08;input&#xff09; 单行输入框 <input> <input> 是一个用于收集用户输入的组件&#xff0c;主要用于收集单行…...

1024程序员

听说今天可以拿勋章&#xff0c;嘿嘿...

【Segment Anything Model】八:修改SAM源码做分类任务

🍉 博主微信 cvxiayixiao 🍓 【Segment Anything Model】计算机视觉检测分割任务专栏。 链接 🍑 【公开数据集预处理】特别是医疗公开数据集的接受和预处理,提供代码讲解。链接 🍈 【opencv+图像处理】opencv代码库讲解,结合图像处理知识,不仅仅是调库。链接 文章目…...

Java后端开发——实现登录验证程序

一、实现一个简单登录验证程序 实现一个简单的用户登录验证程序&#xff0c;如果用户名是 abc &#xff0c;密码是 123&#xff0c;则显示欢迎用户的信息&#xff0c;否则显示“用户名或密码不正确”。 【分析】 该案例采用 JSP 页面只完成提交信息和验证结果的显示&#xff…...

CSS高频面试题

1.行内元素有哪些?块级元素有哪些?空元素有哪些&#xff1f;CSS的盒模型? 块级元素&#xff1a;div, p, h1-h6,form, ul ,li行内元素&#xff1a;a, b, br, span, i, input, select行内块级元素&#xff1a;img , input空元素&#xff1a;即没有内容的HTML元素&#xff0c;…...

解决matlab报错“输入参数的数目不足”

报错语句&#xff1a;tanh((peakNums-parameter)/2) 报错提示&#xff1a;输入参数的数目不足 运行环境&#xff1a;matlab2021b 分析原因&#xff1a; 当执行peakNums - parameter时&#xff0c;如果peakNums和parameter都是向量&#xff0c;那么这并不一定意味着会得到对应…...

使用python_opencv比较图像差异/使用python_opencv找出两张图像的差异范围

目录 1 创建conda环境 2 安装python库 2.1 报错 ModuleNotFoundError: No module named numpy 3 image_diff.py...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...