最新要闻
- 环球观热点:不调好不上市 moto X40驯服二代骁龙8:1小时王者温度仅42度
- Nature年度十大人物出炉:猪心移植手术团队负责人等入选
- 饱满如水滴!联想moto X40开箱图赏
- 5000mAh大电池+120Hz屏 899元联想moto G53图赏
- 109度大电池能跑730KM!岚图追光预售:32.29万元起
- 视焦点讯!努比亚Z50散热堆料离谱:散热总面积达到36462m㎡
- 中国光纤之父赵梓森逝世 享年91岁:拉出了我国第一根光纤
- 世界观热点:苹果妥协了!将开门迎接第三方应用商店 用户褒贬不一
- 杭州疑似有陨石掉落:一团火球 照亮夜空
- 《隐秘的角落》游戏来了:Steam版定档明年1月18日
- 【时快讯】可以薅羊毛了!网易云音乐TV版正式上线:免费送3个月会员
- 天天快报!男子花12万买世界杯彩票没中要求退款 理由气煞店老板
- 天天热头条丨微信全新朋友圈点赞互动广告上线:点下就能放烟花秀
- 天天热资讯!下单15分钟送到:上海开通首条美团无人机常态化航线
- 环球关注:IMDb 8.2分!《阿凡达2》口碑爆棚 影院回应票价高:消费者不缺钱缺服务
- OPPO Find N2 Flip外屏惊艳:支持快捷回复、锁屏小游戏
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球微头条丨初始Docker
一、Docker 概述
1.1Docker的概念
- Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源
- Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”
- Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器
Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序Docker的设计宗旨:Build,Ship and Run Any App,Anywhere,即通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。这里的组件,既可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统
1.2容器的优点
容器化越来越受欢迎,因为容器是:
(资料图片仅供参考)
- 灵活:即使是最复杂的应用也可以集装箱化。
- 轻量级:容器利用并共享主机内核。
- 可互换:可以即时部署更新和升级。
- 便携式:可以在本地构建,部署到云,并在任何地方运行。
- 可扩展:可以增加并自动分发容器副本。
- 可堆叠:可以垂直和即时堆叠服务。
1.3容器与虚拟机的区别
容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用其他任何可执行文件的内存,非常轻量。虚拟机运行的是一个完成的操作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。
1.4容器在内核中支持2种重要技术
docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。
(1)namespace资源隔离——用容器技术封装
1.5Docker核心概念
(1)镜像
Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。
(2)容器
Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。可以把容器看做是要给简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。
(3)仓库
Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。Docker 的镜像、容器、日志等内容全部都默认存储在 /var/lib/docker 目录下。
二、Docker的安装
2.1docker的安装步骤
目前 Docker 只能支持 64 位系统。 systemctl stop firewalld.servicesetenforce 0 1、安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2解释:yum-utils:提供了 yum-config-manager 工具。device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制, 它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。 2、设置阿里云镜像源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3、安装 Docker-CE并设置为开机自动启动yum install -y docker-ce systemctl start docker.servicesystemctl enable docker.service 4、查看 docker 版本信息docker version 目前 Docker 只能支持 64 位系统。
2.2实例操作:安装docker
2.2.1关闭防火墙
2.2.2安装依赖包
2.2.3设置阿里云镜像源并安装 Docker-CE并设置为开机自动启动(使用在线源安装)
2.2.4查看 docker 版本信息
三、Docker 镜像操作
3.1搜索镜像
格式:docker search 关键字举例:docker search nginx
3.2获取镜像
格式:docker pull 仓库名称[:标签]注意:如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 标签。举例:docker pull nginx
3.3镜像加速下载
浏览器访问https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors获取镜像加速器配置
mkdir -p /etc/dockertee /etc/docker/daemon.json <<-"EOF"{ "registry-mirrors": ["https://anx0by6z.mirror.aliyuncs.com"]}EOFsystemctl daemon-reloadsystemctl restart docker
3.4查看镜像信息
镜像下载后存放在 /var/lib/docker
3.4.1查看下载的镜像文件信息
cat /var/lib/docker/image/overlay2/repositories.json
3.4.2查看下载到本地的所有镜像
docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 3964ce7b8458 32 hours ago 142MB解释:REPOSITORY:镜像属于的仓库;TAG:镜像的标签信息,标记同一个仓库中的不同镜像;IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;CREATED:镜像创建时间;VIRTUAL SIZE:镜像大小;
3.5根据镜像的唯一标识 ID 号,获取镜像详细信息
格式:docker inspect 镜像ID号docker inspect 3964ce7b8458
3.6为本地的镜像添加新的标签
格式:docker tag 名称:[标签] 新名称:[新标签]docker tag nginx:latest nginx:web docker images | grep nginx
3.7删除镜像
格式:docker rmi 仓库名称:标签 #当一个镜像有多个标签时,只是删除其中指定的标签或者docker rmi 镜像ID号 #会彻底删除该镜像 注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。 docker rmi nginx:web
3.8存出镜像:将镜像保存成为本地文件
格式:docker save -o 存储文件名 存储的镜像docker save -o nginx nginx:latest #存出镜像命名为nginx存在当前目录下ls -lh
3.9载入镜像:将镜像文件导入到镜像库中
格式:docker load < 存出的文件或者docker load -i 存出的文件举例:docker load < nginx
3.10上传镜像
默认上传到 docker Hub 官方公共仓库,需要注册使用公共仓库的账号。https://hub.docker.com可以使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传。
docker tag nginx:web rui123456/nginx:web #添加新的标签docker login #登录公共仓库Username:password:docker push rui123456/nginx:web #上传镜像
四、Docker 容器操作
4.1容器创建:就是将镜像加载到容器的过程
新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器docker create命令能够基于镜像创建容器。该命令执行的效果类似于docker run -d,即创建一个将在系统后台运行的容器。但是与docker run -d不同的是,docker create创建的容器并未实际启动,还需要执行docker start命令或docker run命令以启动容器。事实上,docker create命令常用于在启动容器之前进行必要的设置。
格式:docker create [选项] 镜像常用选项:-i:让容器的输入保持打开-t:让 Docker 分配一个伪终端 docker create -it nginx:latest /bin/bash
注释:-it就等于-i和-t,这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式(也就是直接进入到容器里面)后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash
4.2查看容器的运行状态
docker ps -a #-a 选项可以显示所有的容器CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa72736a1b1b7 nginx:latest "/docker-entrypoint.…" 2 minutes ago Created strange_goldwasser6b46367b4be0 nginx:latest "/docker-entrypoint.…" 5 minutes ago Created keen_ardinghelli 容器的ID号 加载的镜像 运行的程序 创建时间 当前的状态 端口映射 名称
4.3启动容器
格式:docker start 容器的ID/名称docker start a72736a1b1b7docker ps -a
4.4创建并启动容器
可以直接执行 docker run 命令, 等同于先执行 docker create 命令,再执行 docker start 命令。注意:容器是一个与其中运行的 shell 命令共存亡的终端,命令运行容器运行, 命令结束容器退出。
当利用 docker run 来创建容器时, Docker 在后台的标准运行过程是:(1)检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;(2)利用镜像创建并启动一个容器;(3)分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;(4)从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;(5)分配一个地址池中的 IP 地址给容器;(6)执行用户指定的应用程序,执行完毕后容器被终止运行。
docker run centos:7 /usr/bin/bash -c ls /docker ps -a #会发现创建了一个新容器并启动执行一条 shell 命令,之后就停止了
4.5在后台持续运行 docker run 创建的容器
需要在 docker run 命令之后添加 -d 选项让 Docker 容器以守护形式在后台运行。并且容器所运行的程序不能结束。
docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello;done" docker ps -a #可以看出容器始终处于 UP,运行状态CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2592d3fad0fb centos:7 "/usr/bin/bash -c "w…" 2 seconds ago Up 2 seconds peaceful_chatelet docker run -itd --name test1 centos:7 /bin/bash #给容器重命名,并以守护形式在后台运行
4.6终止容器运行
格式: docker stop/kill 容器ID/名称stop: 停止容器,可以给容器一个等待时间,以防止数据的丢失。kill: 立即强行停止一个容器(相当于linux命令 kill -9) ,不会给容器反应时间,可能会造成数据丢失
格式:docker stop 容器的ID/名称docker stop 9c08e89c75c1 docker ps -a
4.7容器的进入
需要进入容器进行命令操作时,可以使用 docker exec 命令进入运行着的容器。
格式:docker exec -it 容器ID/名称 /bin/bash-i 选项表示让容器的输入保持打开;-t 选项表示让 Docker 分配一个伪终端。 docker start 731cf8b160da #进入容器前,确保容器正在运行docker exec -it 731cf8b160da /bin/bashlsexit #退出容器后,容器仍在运行docker ps -a
4.8从宿主机上将文件导入到容器中
docker ps -a #先获取需要导入到的容器ID,然后重新开一个终端 另一个终端上操作echo "xkq" >> 123.txt #创建测试文件docker cp 123.txt 731cf8b160da:/opt
4.9容器的导出与导入
用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。
#导出格式:docker export 容器ID/名称 > 文件名docker export 2592d3fad0fb > centos7.tar #导入格式:cat 文件名 | docker import – 镜像名称:标签cat centos7.tar | docker import - centos7:test #导入后会生成镜像,但不会创建容器
4.10删除容器
(1)删除容器和强制删除容器
(2)批量停止和删除容器
关键词: 应用程序
环球微头条丨初始Docker
热点评!分智慧果 - 2021算法与数据结构实验题
环球观热点:不调好不上市 moto X40驯服二代骁龙8:1小时王者温度仅42度
Nature年度十大人物出炉:猪心移植手术团队负责人等入选
饱满如水滴!联想moto X40开箱图赏
5000mAh大电池+120Hz屏 899元联想moto G53图赏
109度大电池能跑730KM!岚图追光预售:32.29万元起
天天微动态丨自研分布式高性能RPC框架及服务注册中心ApiRegistry实践笔记【原创】【开源】
【独家】图形用户界面(GUI)编程可以学习C++ Builder,多图、实例、书籍
17 Java内存模型与线程_Java与线程
视焦点讯!努比亚Z50散热堆料离谱:散热总面积达到36462m㎡
中国光纤之父赵梓森逝世 享年91岁:拉出了我国第一根光纤
世界观热点:苹果妥协了!将开门迎接第三方应用商店 用户褒贬不一
杭州疑似有陨石掉落:一团火球 照亮夜空
环球要闻:AIRIOT答疑第2期|如何使用物联网平台的数据采集与控制引擎?
《隐秘的角落》游戏来了:Steam版定档明年1月18日
【时快讯】可以薅羊毛了!网易云音乐TV版正式上线:免费送3个月会员
天天快报!男子花12万买世界杯彩票没中要求退款 理由气煞店老板
天天热头条丨微信全新朋友圈点赞互动广告上线:点下就能放烟花秀
天天热资讯!下单15分钟送到:上海开通首条美团无人机常态化航线
世界速读:BaseDet: 走过开发的弯路
今日热门!引迈信息荣登「2022低代码企业50强」:JNPF,你的不二选择!
环球关注:IMDb 8.2分!《阿凡达2》口碑爆棚 影院回应票价高:消费者不缺钱缺服务
OPPO Find N2 Flip外屏惊艳:支持快捷回复、锁屏小游戏
第二家通吃NVIDIA、AMD、Intel的显卡品牌诞生!这也太贵了
天天实时:公牛发布航天级品质超薄插座:可承受2万次拔插
环球微头条丨跌破零下40度!内蒙古出现极寒冰雾天气:冷到“冒白烟”
环球微速讯:SQL的使用总结
天天快资讯:WPF深入简出(一)入门必看
观热点:【机器学习】李宏毅——浅谈机器学习原理+鱼与熊掌兼得的深度学习简述
当前动态:前后端AES加密解密,CryptoJS和Java实现
热讯:记录--手把手带你开发一个uni-app日历插件(并发布)
OPPO Find N成为全国销量第二折叠屏!一经发布就大获成功
微速讯:首次使用钛合金螺丝!OPPO Find N2仅233g:折叠屏比iPhone还轻
OPPO Find N2内外一致好屏:双120Hz+双E6 可自由悬停
让玩家心动的定制 ROG 6游戏手机《暗黑破坏神:不朽》典藏限量版图赏
OPPO Find N2 233g比直板机还轻!央视点赞:刷新折叠屏手机新纪录
【世界速看料】LeetCode HOT 100:旋转图像
环球头条:特斯拉中国上线490元酒杯 限量卖 网友吐槽智商税
世界今日讯!女子连吃5天感冒药 多脏器功能衰竭:专家提醒小心这些症状
IT工程师哪里工资最高?美国仅排第二 第一收入超过70万
天天看热讯:帧数暴涨40%!《巫师3》次时代版画质优化指南
20万级大杀器 长安深蓝首款SUV曝光:增程、纯电全都有
【天天速看料】Shell 标准输入和输出
信息:公司新来一个同事,把网关系统设计的炉火纯青!(万能通用,稳的一批。。)
当前视讯!易基因|NSUN2介导RNA m5C修饰促进食管鳞状细胞癌进展的表观调控机制 | 肿瘤研究
ThingsBoard前端项目的安装与启动
【时快讯】RELIC库学习
全球看热讯:喜讯+1!袋鼠云数栈技术团队获“2022年度优秀开源技术团队”
投影仪的工作原理是什么?投影仪排名前十的品牌
Centos安装Nginx
针孔无线摄像机怎么连接?针孔无线摄像机怎么用?
本地连接受限制或无连接是怎么回事?本地连接受限制或无连接怎么解决?
svchost.exe占用cpu过是什么原因?svchost.exe占用cpu过高解决方法
pdf文件打开是乱码怎么回事?pdf文件打开是乱码时该怎么办?
男主角是明星的小说有哪些?男主角是明星的小说推荐
科比最后一场比赛是什么时候?科比最后一场比赛是多少分?
鞋子防臭的小妙招有哪些?鞋子防臭喷雾哪个牌子好?
沙棘如何鉴别好坏?沙棘的功效作用与主治是什么?
玉碎了代表什么征兆?玉碎了有什么办法修复吗?
英雄联盟更新慢是什么原因?英雄联盟更新慢怎么办?
怎么才能加快迅雷的下载速度?加快迅雷下载速度的方法有哪些?
全球讯息:阻止Windows未知应用弹窗的一种思路方法
Zabbix6.0使用教程 (四)—zabbix6.0从源代码安装
Tomcat工作原理
小键盘指法是什么意思?小键盘指法包括什么键?
iphone13如何添加公交卡?iphone13添加公交卡的方法有哪些?
安卓系统的手机有哪些?安卓系统的手机有哪些牌子好?
天天快讯:针对某钓鱼网站的渗透测试
【脚本项目源码】Python制作桌面宠物,这么可爱的萌宠你不想拥有吗?
今日热议:4999元 小米13限量定制色明天首销:只有5万台
环球焦点!中国民营火箭朱雀二号发射失利 全球首型轨道飞行的甲烷火箭
当前播报:QQ邮箱推实用新功能:英文文档一键即可翻译
【报资讯】丰田凯美瑞看呆!新一代本田雅阁实车曝光:比思域还运动
撞到快报废!特斯拉高速追尾大货车 司机身亡:现场视频速度快到可怕
单手就能用的折叠屏旗舰!OPPO Find N2今天发布:比直板机还轻
环球视讯!反对无效!日本投放广告宣传福岛核污水安全性:必须排海
【环球播资讯】我国成功发射遥感三十六号卫星!长征火箭年发射数首次迈上50大关
【环球速看料】适合男女双打 这三款游戏拉近你和她的距离
焦点滚动:腾讯互动阅读App《一零零一》宣布将停运:补偿方案出炉
环球新动态:显卡不会便宜了?NV要发新RTX 4080、4090:移动版也万元节奏
世界新消息丨法国2-0摩洛哥 决赛战阿根廷!网友发现规律:姆巴佩进球就不会输
快消息!Vue核心概念与其指令
Wireshark使用笔记
焦点!Zabbix监控系统
世界快资讯丨Kubernetes Volumes 笔记
取代奔腾/赛扬!Intel 12代Alder Lake-N处理器来了:清一色小核、超低功耗
环球即时看!德国樱桃收购瑞典外设品牌Xtrfy:对方只有12人
当前信息:国六B汽油要全面上线了!听说这玩意又贵又不耐烧?
环球关注:Wi-Fi 7:明年下半年见
天天看点:App流畅度提升88%!小米承诺:所有升级MIUI 14机型均支持光子引擎
全球要闻:雷军:全面对标苹果iPhone 一个新的小米开始了
环球滚动:[WPF] MediaElement播放HDR视频泛黄、颜色显示不正确应该如何解决?
R数据分析:冲击流图与热图的做法以及多图布局
简讯:VUE简介
天天微头条丨意外之喜:苹果给iPhone 6s/7推送iOS 15.7.2系统更新
焦点精选!脱口秀演员直播带货:想得美好
直播:今年最后一场大型流星雨来了!双子座流星雨压轴登场
游戏性能被RX7900反超?《巫师3》次世代版4090光追演示
天天信息:摩托罗拉×潘通 “非凡洋红”限定版新机来了