windows下docker的使用
目录
1:docker是什么,能干什么?
2:docker下初始化一个容器
1:工具支持
2:运行装载docker镜像
a:在docker toolbox底下有个start.sh,我们进去里面修改里面路径配置:
b:sh start.sh
c:docker-machine命令
d:docker乱码处理
e:docker常用命令
3:SecureCRT登录docker
4:扩展篇----docker虚拟机存储位置更换
3:敲黑板
4:下一章:docker下拉(pull)镜像和生成容器。
5:本章的docker toolbox下载地址
先说说这篇文章看完你能学习到什么吧
1:docker是什么,能干什么。2:docker下初始化一个容器,3:敲黑板
1:docker是什么,能干什么?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
2:docker下初始化一个容器
1:工具支持
a:下载docker toolbox,这是一个安装程序,用于在较旧的Mac和Windows系统上快速设置和启动Docker环境。
b:下载virtualbox,这是个虚拟机软件。支持windows虚拟化系统。
c:下载git,这是个支持sh命令的工具。
d:电脑必须支持Intel Virtualization Technology,这个自己百度,如果不支持就不用往下走了
2:运行装载docker镜像
a:在docker toolbox底下有个start.sh,我们进去里面修改里面路径配置:
#!/bin/bash
trap '[ "$?" -eq 0 ] || read -p "Looks like something went wrong in step ´$STEP´... Press any key to continue..."' EXIT
# TODO: I'm sure this is not very robust. But, it is needed for now to ensure
# that binaries provided by Docker Toolbox over-ride binaries provided by
# Docker for Windows when launching using the Quickstart.
export PATH="/F:/Program Files/Docker Toolbox:$PATH" //这里替换成自己的Docker Toolbox,就是当前文件的路径上层
VM=${DOCKER_MACHINE_NAME-default}
DOCKER_MACHINE=./docker-machine.exeSTEP="Looking for vboxmanage.exe"
if [ ! -z "$VBOX_MSI_INSTALL_PATH" ]; then
VBOXMANAGE="D:\soft\VirtualBox\VBoxManage.exe" //这里替换成自己的VBoxManage,在你安装的VirtualBox底下
else
VBOXMANAGE="D:\soft\VirtualBox\VBoxManage.exe" //这里替换成自己的VBoxManage,在你安装的VirtualBox底下
fi
b:sh start.sh
运行完毕后会出现小鲸鱼图案,这是docker引擎启动成功的表现,启动成功后,该docker的虚拟地址是192.168.99.100(可以通过SecureCRT连接访问,或者virtualbox)
b->1:这一步可能会出现下载boot2docker.iso镜像文件太久的情况,这时候可以自己去网上下载docker镜像,并把它移动到相应的目录,这个目录会在运行时候有输出。我的目录是C:\Program Files\Docker Toolbox。所以我把的boot2docker.iso放到该目录下,并断网,重新sh start.sh,这样子就不会去网上下载docker 太久的问题。启动成功后,下次不用断网就可以启动。
c:docker-machine命令
上面出现鲸鱼后,代表docker启动成功,接下来想要停掉docker虚拟机,可以用docker-machine stop default,重启用docker restart default,启动用docker start default
d:docker乱码处理
在启动docker后,可以通过locale -a看有没有en_US.utf8,有的话直接执行如下
export LC_ALL=en_US.utf8
没有的话,执行
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
e:docker常用命令
docker images ---------查看镜像
docker ps -a ----------查看容器
docker stop 容器id -------停止容器
docker start 容器id -------启动容器
docker rm 容器id -------删除容器
docker rmi 镜像id -------删除镜像
docker run -d -p 5000:22 --name 新建容器名称 --privileged=true 镜像id或镜像名称 /usr/sbin/init ------创建容器
docker exec -it 容器名称 /bin/bash ------进入容器
docker commit 容器id 镜像名称 ------提交容器成镜像
docker rm -f `docker ps -a -q` ------删除所有容器
3:SecureCRT登录docker
1:登录主机名:192.168.99.100
2:用户名:docker
3:密码: tcuser
4:切换root
用户名2:root
切换:command:sudo -i (docker用户下执行)
4:扩展篇----docker虚拟机存储位置更换
1:docker的虚拟机(镜像)存放地址在哪里
虚拟机的默认存储位置是C:\Users\Administrator\.docker\machine\machines,后期docker镜像文件会不断增加,为了减轻系统负担,我把目录指向别的地方。
2:指向新的地方(打开VirtualBox操作)(这步操作前需要先关掉default这个虚拟机)
VirtualBox【管理】->【虚拟介质管理】界面对虚拟磁盘进行复制(我们docker虚拟机默认是default名字)
复制disk.vmdk到新的硬盘,虚拟磁盘的文件类型选择VMDK,存储到硬盘上选择动态分配就可以了
右点击default,选择设置,选择存储,删除之前的disk(右击disk.vmdk删除),控制器SATA选择加号(添加),使用现有的磁盘,选择刚才复制过去的新地址
3:敲黑板
1:docker能够为我们做什么?
答:在我的理解是,docker作为一个容器引擎,docker可以通过镜像生成多个容器,分别部署到不同的服务器,实现线上环境的无缝转换和迁移。这样省去了服务器代码和环境的频繁部署。简单点来举个例子:如果我们有个代码在A服务器部署了,我们可以用docker把该服务器打包成docker镜像(image),并上传(push)到docker网站。然后如果A服务器宕机了或者死掉了,这时候需要立马重新部署一台服务器,我们可以在B服务器下载docker,用docker引擎去下拉(pull)我们上传的镜像,并用该镜像生成我们的容器,并把我们代码的所需要的端口,例如80,3306等映射到我们的宿主机。然后启动起来我们的项目,这样傻瓜式的docker操作,就可以帮我们把线上的环境还原出来立马可以使用了。
2:为什么上面的sh start.sh需要用本地的docker,而不是让他去自己下载呢?
答:因为默认的docker镜像仓库地址是https://hub.docker.com/,我们国内下载超级慢,所以我们如果直接该软件获取本地仓库地址在哪里,我们可以把我么下载的docker镜像放进去,并断网,这样该软件会优先去取我们的本地仓库镜像,而不是去网上下载,大大缩短我们的时间。
4:下一章:docker下拉(pull)镜像和生成容器。
5:本章的docker toolbox下载地址
https://download.csdn.net/download/weixin_36667844/88804108
相关文章:
windows下docker的使用
目录 1:docker是什么,能干什么? 2:docker下初始化一个容器 1:工具支持 2:运行装载docker镜像 a:在docker toolbox底下有个start.sh,我们进去里面修改里面路径配置: …...
C语言——R/预处理详解
一、预定义符号 C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编译的时间 __STDC__ //如果编译器遵循ANSI C&a…...
Unity_PackageManager缺失
Unity_PackageManager缺失 Unity早期版本不带PakageManager,或是人为因素造成PakageManager缺失。 关闭Unity工程,在项目文件下Packages文件夹里打开manifest.json,修改添加一行: "com.unity.package-manager-ui": &q…...
Megatron-LM源码系列(七):Distributed-Optimizer分布式优化器实现Part2
1. 使用入口 DistributedOptimizer类定义在megatron/optimizer/distrib_optimizer.py文件中。创建的入口是在megatron/optimizer/__init__.py文件中的get_megatron_optimizer函数中。根据传入的args.use_distributed_optimizer参数来判断是用DistributedOptimizer还是Float16O…...
[SWPUCTF 2021 新生赛]ez_unserialize
根据下面的user_agent和Disallow可以判断这个是在robots.txt 我们看的出来这是一个反序列化需要我们adminadmin passwdctf construct 构造方法,当一个对象被创建时调用此方法,不过unserialize()时却不会被调用 destruct 析构方法,PHP将在对象…...
android tv开发-1,leanback 2
目录 presenter太多,如何理清关系 动画与点击 tv的登录与设置 搜索功能 带二级菜单的页面 presenter太多,如何理清关系 leanback里面已经定义好了adapter与presenter,直接继承它就可以了 private DefaultObjectAdapter mVideoAdapter; private VideoCardPresenter mCardP…...
Spring Boot注解
Spring Boot提供了许多常用的注解,用于简化开发过程和配置管理。以下是一些常用的Spring Boot注解: SpringBootApplication: 标记一个类为Spring Boot应用程序的入口点,同时也是一个组合注解,包括了Configuration、EnableAutoConf…...
JavaWeb中的Filter(过滤器)和 Listener(监听器)
提示:这两个东西听起来似乎很难,实际上是非常简单的,按照要求写就行了,一定不要被新名词给吓到了。 JavaWeb中的Filter(过滤器) 一、Filter(过滤器)1.如何编写 Filter2.Filter 中的细…...
mybatis查询修改mysql的json字段
前言: mysql5.7版本之后支持json字段类型,推荐mysql8版本,适用于属性不确定的个性化字段,比如: 身份信息{“职业”,“学生”,“兴趣”:“打乒乓球”,“特长”:“跳高,书法”}; 图片信息{“日期”:“2023-12-12 22:12”…...
实时聊天系统
这个系统可以用于网站的即时通讯,比如客服系统、在线社区等。这个功能不仅对用户友好,而且也是检验技术实现能力的一个很好的案例。 ### 功能概述 该系统允许用户在网站上实时发送和接收消息。为了保持实时性,我们将使用PHP进行服务器端的逻…...
Spring-mvc、Spring-boot中如何在调用同类方法时触发AOP
1. 问题描述 Spring-mvc和Spring-boot中aop可以实现代理的功能,我们可以借此实现事务和日志记录或者限流等多种操作。但是,如果你在一个方法中调用其同类下的其他方法的时候不会触发AOP。本文主要说明其原因及解决办法和实现原理。 2. 原因 AIOP的本质是…...
幻兽帕鲁服务器自动重启备份-python
幻兽帕鲁服务器自动重启备份-python 1. 前置知识点2. 目录结构3. 代码内容4. 原理解释5. 额外备注 基于python编写的服务器全自动管理工具,能够实现自动定时备份存档,以及在检测到服务器崩溃之后自动重新启动,并且整合了对于frp端口转发工具的…...
C# Onnx yolov8 水表读数检测
目录 效果 模型信息 项目 代码 训练数据 下载 C# Onnx yolov8 水表读数检测 效果 模型信息 Model Properties ------------------------- date:2024-01-31T10:18:10.141465 author:Ultralytics task:detect license:AGPL-…...
负载均衡下webshell连接
目录 一、什么是负载均衡 分类 负载均衡算法 分类介绍 分类 均衡技术 主要应用 安装docker-compose 2.1上传的文件丢失 2.2 命令执行时的漂移 2.3 大工具投放失败 2.4 内网穿透工具失效 3.一些解决方案 总结 一、什么是负载均衡 负载均衡(Load Balanc…...
Spring面试大全-基础知识01
1.什么是Spring Spring框架是用于构建企业级Java的开源框架,他通过依赖注入和IOC容器帮我我们管理对象;支持AOP,将非业务功能(日志,事务等)从我们业务代码中分离出来,提高了代码的可维护性&…...
Transformer实战-系列教程4:Vision Transformer 源码解读2
🚩🚩🚩Transformer实战-系列教程总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 4、Embbeding类 self.embeddings Embeddings(config, img_sizeimg_size) class Embeddings(nn.…...
cesium-水平测距
cesium测量两点间的距离 <template><div id"cesiumContainer" style"height: 100vh;"></div><div id"toolbar" style"position: fixed;top:20px;left:220px;"><el-breadcrumb><el-breadcrumb-item&…...
【Android-Compose】手势检测实现按下、单击、双击、长按事件,以及避免频繁单击事件的简单方法
目录: 1 不需要双击事件 规避频繁单击事件2 需要双击事件(常规写法)3 后记:不建议使用上面的代码自定义按钮 1 不需要双击事件 规避频繁单击事件 var firstClickTime by remember { mutableStateOf(System.currentTimeMillis()…...
AUTOSAR汽车电子嵌入式编程精讲300篇-基于神经网络的CAN总线负载率优化(续)
目录 3.3 SA 算法 3.3.1 SA 算法原理 3.3.2 基于 SA 算法 CAN 总线负载率优化分析...
python爬虫6—高性能异步爬虫
如果有多个URL等待我们爬取,我们通常是一次只能爬取一个,爬取效率低,异步爬虫可以提高爬取效率,可以一次多多个URL同时同时发起请求 异步爬虫方式: 一、多线程、多进程(不建议):可以…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
