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同时同时发起请求 异步爬虫方式: 一、多线程、多进程(不建议):可以…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...

恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!
今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线…...

Element-Plus:popconfirm与tooltip一起使用不生效?
你们好,我是金金金。 场景 我正在使用Element-plus组件库当中的el-popconfirm和el-tooltip,产品要求是两个需要结合一起使用,也就是鼠标悬浮上去有提示文字,并且点击之后需要出现气泡确认框 代码 <el-popconfirm title"是…...