[知识总结] 【编程不良人】Docker学习总结(二)
作者:CC下载站 日期:2021-01-23 10:37:00 浏览:69 分类:编程开发
本博客将记录博主学习b站编程不良人的Docker的总结,虽然以前也有使用过docker,但都是一些最基本的用法,这次将会全面认真的学习Docker。
09:Docker镜像分层原理
- 镜像定义:
一个镜像代表一个软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时的所需的库、环境变量和配置文件 - 镜像为什么那么大:
因为一个软件镜像不仅仅是原来的软件包,而是包含软件包所需的操作系统依赖、软件自身依赖以及自身软件包组成(及包含了软干个公共镜像) - 为什么docker镜像采用分层镜像原理
注意:docker在设计镜像时每一个镜像都是有n个镜像共同组成 ==>镜像像是一个画卷一层层组成,每层都是一个镜像
原理:UnionFS 联合文件系统。 docker镜像实际是由一层一层的文件系统组成。
采用UnionFS 联合文件系统最大的一个好处就是资源共享,采用分层机制实现基础层共享,从而减小docker仓库整体体积
- 所以,前期拉取的镜像越来越多,后期拉取就快
10:Docker中容器之间网络配置
- 为什么提供网络功能:
Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。 - docker容器与操作系统通信机制
- docker 网络使用
注意:一般在使用docker网桥(bridge)实现容器与容器通信时,都是站在一个应用的角度进行容器通信 - 查看docker所有 配置
docker network ls docker inspect 网桥名称
- 创建自定义网桥
docker create NAMES(网桥名称) ===> docker create -d bridge ems(网桥名称)
- 例子:
docker run -d -p 8082:8080 -network ems --name mytomcat01 tomcat:8.0-jre8 docker run -d -p 8082:8080 -network ems --name mytomcat01 tomcat:8.0-jre8
注意,一但在启动容器时指定了网桥之后,日后可以在任何这个网桥关联的容器中使用容器名字进行与其他容器通信(docker将容器名字与该容器划分的子网做了映射)
172.18.02 ==> mytomcat01 , 172.18.0.3 ==> mytomcat02
使用docker run 指定 --network 网桥时网桥必须存在
11:docker 核心架构图
12:docker安装服务
- 安装哪个服务去docker hub搜索对应服务的镜像
- 点击进入该服务docker hub
- 首先看描述(description),如何使用images
- 其次找版本(tags)
安装mysql
- 启动:(后台启动,设置端口,启动时给root用户指定密码,使用数据卷进行数据持久化,以修改之后的配置文件启动)
docker pull mysql docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxx -v mysqldata:/var/lib/mysql -v mysqlconfig:/etc/mysql --name mysql80 mysql
安装tomcat
- 下载tomcat服务
docker pull tomcat:8.0-jre8
- 启动tomcat服务(将部署应用目录和配置文件目录通过数据卷挂在宿主机系统)
注意:部署web应用在容器中目录为/usr/local/tomcat/webapps
配置文件 /usr/local/tomcat/confdocker run -d -p 8081:8080 -v tomcatApps:/usr/local/tomcat/webapps -v confs:/usr/local/tomcat/conf --name tomcat8 tomcat:8.0-jre8
注意修改配置文件里的端口不会对已创建的tomcat生效,需新创建一个
安装redis
- 下载镜像
docker pull redis
- 启动,并开启redis持久化(持久化生成aof文件会被放入容器中/data目录中),
docker run -d -p 6379:6379 --name redis redis redis-server --appendonly yes
- 以自定义配置文件略麻烦...
安装rabbitmq
- 下载镜像
docker pull rabbitmq
- 启动镜像,挂载配置目录
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v rabbitmq:/etc/rabbitmq/ --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq
- 启动rabbitmq_management管理界面
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
- 修改配置文件,开启统计数据
# vim /var/ilb/docker/volumes/rabbitmq/_data/conf.d/management_agent.disable_metrics_collector.conf management_agent.disable_metrics_collector = false # 默认为true,解决Stats in management UI are disabled on this node
- 重启rabbitmq
安装ES & Kibana
- 下载镜像
docker pull elasticsearch:7.10.1
- 预先配置(修改虚拟内存大小)
vim /etc/sysctl.conf 加入如下配置:vm.max_map_count=262144 启用配置: sysctl -p
- 单节点启动,设置jvm并将数据、配置、插件持久化:
docker network create esnetwork 建立网桥 docker run -d --name es --net esnetwork -p 9200:9200 -p 9300:9300 -v esdata:/usr/share/elasticsearch/data -v esconfig:/usr/share/elasticsearch/config -v esplugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:7.10.1
- 安装Kibana
docker pull kibana:7.10.1
- 启动Kibana
docker run -d -p 5601:5601 --link es:elasticsearch --name kibana --net esnetwork kibana:7.10.2
13:dockerfile
- 定义:
用来帮助我们自己构建一个自定义镜像,dockerfile成为镜像构建文件 描述文件 - 为什么要存在dockerfile
日后用户可以将自己应用打包成镜像,这样就可以让我们应用进行容器运行 - dockerfile 构建镜像原理
- dockerfile 基本命令
示例
- FROM
FROM centos:7
- RUN
RUN yum install -y vim #构建镜像时安装vim RUN ["yum","install","-y","vim"] #第二种写法
- EXPOSE
EXPOSE 5672 EXPOSE 15672
- WORKDIR 指定进入容器后在哪个目录下,可以写多个(绝对+相对累加)
WORKDIR /data WORKDIR bb #实际进入容器目录为/data/bb,没有也会自动创建
- COPY (将某文件拷贝到打包后的目录中 COPY src dest)
COPY aa.txt /data/bb
- RUN
RUN xxx-8.0.tar.gz /data/bb # 拷贝进入的同时还会自动解压 RUN mv xxx-8.0 xx # 可以把自动解压后的文件夹重命名 WORKDIR yy # 甚至把进入容器后的目录修改
- VOLUME 设置可以被挂载的容器目录
VOLUME /data/bb/tomcat/webapps
- ENV 设置公共的环境变量
ENV BASE_DIR /data/bb VOLUME $BASE_DIR/tomcat/webapps
- ENTRYPOINT & CMD (用数组形式)
通常ENTRYPOINT后的shell命令写固定死的,如java -jar
CMD后用来接收run容器时传入的参数,如jar包名称ENTRYPOINT ["java","-jar"] CMD ["ems.jar"] ... docker run xxx:01 aaa.jar #此时执行的为 java -jar aaa.jar
014:Dockerfile构建springboot应用
- 打包项目 : demo.jar
- 在服务器中创建dockerfile上下文目录 context
mkdir demo # 这个目录作为 context touch Dockerfile # 在context目录中创建Dockerfile文件
- 上传应用jar到context目录
- 编写Dockerfile
FROM openjdk:8-jre # 基于哪个镜像构建 WORKDIR /app # 定义进入容器时默认位置,接下来后序操作工作位置 ADD demo.jar app.jar # 将上下文中名字为 demo.jar复制到工作目录,同时修改为app.jar EXPOSE 8081 # 暴露8081端口 ENTRYPOINT ["java","-jar"] # 启动应用固定命令 CMD ["app.jar"] # 执行jar名称
- 执行构建并运行
docker build -t demo:01 docker run -d -p 8081:8081 --name demo demo:01
猜你还喜欢
- 03-29 [编程相关] Winform窗体圆角以及描边完美解决方案
- 03-29 [前端问题] has been blocked by CORS policy跨域问题解决
- 03-29 [编程相关] GitHub Actions 入门教程
- 03-29 [编程探讨] CSS Grid 网格布局教程
- 10-12 [编程相关] python实现文件夹所有文件编码从GBK转为UTF8
- 10-11 [编程算法] opencv之霍夫变换:圆
- 10-11 [编程算法] OpenCV Camshift算法+目标跟踪源码
- 10-11 [Python] python 创建 Telnet 客户端
- 10-11 [编程相关] Python 基于 Yolov8 + CPU 实现物体检测
- 03-15 [脚本工具] 使用go语言开发自动化脚本 - 一键定场、抢购、预约、捡漏
- 01-08 [编程技术] 秒杀面试官系列 - Redis zset底层是怎么实现的
- 01-05 [编程技术] 《Redis设计与实现》pdf
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[电影] 《环太平洋两部合集》 4K REMUX原盘 [杜比视界] 国英双语音轨 [内封特效字幕] [133.8G]
[电影] 异人之下 The Traveller 2024✨【影版】【4K正式版/HQ超高码/DDP5.1】✚【1080高码】无水印/无压缩
[动漫] 头文字D 动漫 (1998) S01-S06季 1080P 国粤日音轨 续作 剧场版 电影
[小说] 知轩藏书全站7667册txt小说合集精心校对版
[杂志] 电脑爱好者杂志14年 超全 [PDF]
[电影] 西游记全部版本-4K高清修复-总计384G-1986+1996+1998+2002+2010浙版+西游记后传
[纪录片] 【国家地理百年纪念典藏】超经典100集全 MP4格式 (绝佳学习资料)27GB
[纪录片] B站食贫道收费纪录片 *迷失东京* [1080P] 揭露日本大家感兴趣却不为人知的秘密
[网络线报] 城通网盘福利线报解析器 - 获取直连下载地址
[福利线报] 一个「脚本」搞定六大网盘(百度/阿里/天翼/迅雷/夸克/移动)
[游戏] 《黑神话悟空》免安装学习版【全dlc整合完整版】+Steam游戏解锁+游戏修改工具!
[动画] 《名侦探柯南》名侦探柯南百万美元的五菱星 [TC] [MP4]
[电视剧集] [BT下载][黑暗城市- 清扫魔 Dark City: The Cleaner 第一季][全06集][英语无字][MKV][720P/1080P][WEB-RAW]
[涨点姿势] 男性性技宝典:14招实战驭女术——爱抚、按摩、催情、姿势、高潮全攻略
[动画] 2002《火影忍者》720集全【4K典藏版】+11部剧场版+OVA+漫画 内嵌简日字幕
[剧集] 《斯巴达克斯》1-4季合集 无删减版 1080P 内嵌简英特效字幕
[CG剧情] 《黑神话:悟空》158分钟CG完整剧情合集 4K120帧最高画质
[短剧] 被下架·禁播的羞羞短剧·午夜短剧合集
[游戏] 黑神话悟空离线完整版+修改器
[图像处理] 光影魔术手v4.6.0.578绿色版
[影视] 美国内战 4K蓝光原盘下载+高清MKV版/内战/帝国浩劫:美国内战(台)/美帝崩裂(港) 2024 Civil War 63.86G
[影视] 一命 3D 蓝光高清MKV版/切腹 / 切腹:武士之死 / Hara-Kiri: Death of a Samurai / Ichimei 2011 一命 13.6G
[影视] 爱情我你他 蓝光原盘下载+高清MKV版/你、我、他她他 2005 Me and You and Everyone We Know 23.2G
[影视] 穿越美国 蓝光原盘下载+高清MKV版/窈窕老爸 / 寻找他妈…的故事 2005 Transamerica 20.8G
[电影] 《黄飞鸿》全系列合集
[Android] 开罗游戏 ▎像素风格的模拟经营的游戏厂商安卓游戏大合集
[游戏合集] 要战便战 v0.9.107 免安装绿色中文版
[资源] 精整2023年知识星球付费文合集136篇【PDF格式】
[系统]【黑果小兵】macOS Big Sur 11.0.1 20B50 正式版 with Clover 5126 黑苹果系统镜像下载
[美图] 【经典收藏美图集合】1500多张韩国美女高清图片让你的收藏夹更加丰富多彩
- 最新评论
-
有靳东!嘻嘻奥古斯都.凯撒 评论于:10-28 流星花园是F4处女作也是4人集体搭配的唯一一部!奥古斯都.凯撒 评论于:10-28 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢AAAAA 评论于:10-26 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢password63 评论于:10-26 找了好久的资源,终于在这里找齐了!!!!blog001 评论于:10-21 找了好久的资源,终于在这里找齐了!!!!blog001 评论于:10-21 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢WillKwok 评论于:10-09 感谢分享1234123 评论于:10-07 太好了终于找到了谢谢Tom 评论于:10-07 谢谢分享loonghd 评论于:09-30
- 热门tag