Java架构师-容器化(一):服务容器化技术-Docker、Cloud Foundry
一、服务容器化概述
1、应用的种类太多,码头林立
2、微服务
3、康威定律
二、容器技术对比:Docker 与 Cloud Foundry
三、Docker能做什么
四、Docker Client/Server 架构
1、客户端
2、服务器
3、镜像仓库
4、镜像
4.1 生成自定义的Docker镜像【docker commit】
可以发布到私有仓库货公有仓库。
4.2 构建文件【利用自定义的Dockerfile文件,使用docker build命令构建新镜像】
在已有镜像的基础上添加新功能
5、容器
五、Linux部署并使用Docker
1、安装Docker
依次运行以下命令添加yum源
yum update
yum install epel-release -y
yum clean all
yum list
安装并运行Docker。
yum install docker-io -y
systemctl start docker
检查安装结果。
docker info
出现以下说明信息则表明安装成功。
2、Docker基本命令
2.1 镜像命令
列出镜像列表
$ docker images
$ docker image ls -a
运行 Docker 镜像(守护态方式)
$ docker run -d {镜像名}
删除指定 Docker 镜像
$ docker image rm {镜像名}
删除 Docker 虚悬镜像
$ docker image prune
2.2 Docker 容器命令
列出正在运行的容器
$ docker ps -a
列出所有容器(包括已停止容器)
$ docker ps -l
进入运行中的 Docker 容器
$ docker exec -it {容器ID} /bin/bash
停止 Docker 容器
$ docker stop {容器ID}
删除指定 Docker 容器
$ docker rm -f {容器ID}
删除停止的 Docker 容器
$ docker container prune
查看 Docker 容器历史运行日志
$ docker logs {容器名}
实时监听 Docker 容器运行日志
$ docker logs -f {容器名}
2.3 Docker 数据卷命令
创建 Docker 数据卷
$ docker volume create {数据卷名}
列出所有 Docker 数据卷
$ docker volume ls
删除指定 Docker 数据卷
$ docker volume rm {数据卷名}
删除未关联(失效) Docker 数据卷
$ docker volume prune
$ docker volume rm $(docker volume ls -qf dangling=true)
2.4 Docker 文件操作命令
从主机复制文件到 Docker 容器中
$ sudo docker cp {主机内文件路径} {容器ID}:{容器内文件存储路径}
从 Docker 容器中复制文件到主机中
$ sudo docker cp {容器ID}:{容器内文件路径} {主机内文件存储路径}
2.5 其他
搜索镜像:docker search xxx
docker search rabbitmq:management
列出当前系统存在的镜像
docker images
拉取镜像
docker pull xxx
xxx是具体某个镜像名称(格式 REPOSITORY:TAG),REPOSITORY:表示镜像的仓库源,TAG:镜像的标签
docker pull rabbitmq:management
设置开机自启动
systemctl enable docker
启动Docker
systemctl start docker
运行一个容器:
docker run -d --name "xdclass_mq" -p 5672:5670 -p 5673:5670 rabbitmq:management
5672:5670-------前面的端口是宿主机的端口,后面的端口是docker容器的端口
5673:15670----前面的端口是宿主机的端口,后面的端口是docker容器的端口
上面写的两对端口映射,前面的2个端口都是宿主机的端口,所以不能相同;后面的2个端口都是各个容器各自的端口,可以相同。
docker run - 运行一个容器-d 后台运行--name "xxx"-p 端口映射rabbitmq:management (格式 REPOSITORY:TAG),如果不指定tag,默认使用最新的
检查容器内部信息:
docker inspect 容器名称
停止某个容器:docker stop 容器名称
启动某个容器:docker start 容器名称
移除某个容器: docker rm 容器名称 (容器必须是停止状态)
六、镜像改造-Dockerfile应用【站在巨人肩膀上】
找一个最接近自己需求的基础镜像,在此基础上再添加自己的功能。
- 先创建一个Dockerfile文件
- 运行
docker build -t mysh .
命令(最后的.
表示Dockerfile所在位置,mysh表示生产的镜像名称)
七、Docker网络通信
1、默认网络
1.1 默认none网络
1.2 默认host网络
1.3 默认bridge网络
2、自定义网络
2.1 自定义bridge网络
2.2 自定义overlay网络
2.3 自定义macvlan网络
3、第三方网络
3.1 第三方flannel网络
3.2 第三方weave网络
3.3 第三方calico网络
参考资料:
生产中的NLP:创建Docker镜像
基于Docker的Python开发
Java架构师-容器化(一):服务容器化技术-Docker、Cloud Foundry相关推荐
- 五年Java架构师深入剖析微服务架构设计理念与技术体系(值得一看!)
内容提要: 本书内容主要包含实施微服务架构的些方法论和工程实践,首先,通过对微服务架构的基本概念.服务建模.服务拆分和集成的介绍,帮助读者全面理解微服务架构中的设计理念,然后从微服务架构的基础组件.关 ...
- java架构师,必须掌握的几点技术?
一.前言 一个成熟的大型网站(如淘宝.京东等)的系统架构并不是开始设计就具备完整的高性能.高可用.安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式.技术架构.设 ...
- java微服务架构师,java架构师成长路线-微服务架构的介绍
微服务架构是近期软件应用领域非常热门的概念,好像身为21世纪的新青年不知道微服务架构是什么?那就真有点out的味道了,为了顺应热点,特意从网上以及身边找寻了些关于微服务架构的资料,以便大家查阅,本文主 ...
- Java进阶学习之Java架构师的学习路线
Java架构师,首先要是一个高级Java攻城狮,熟练使用各种框架,并知道它们实现的原理.Java架构师的作用就是要满足业务需求,用低的硬件网络成本和技术维护成本.Java架构师还要根据业务发展阶段,提 ...
- Java架构师面试问些什么?微服务之springcloud面试题(共22题,含详细解答)
[Java架构师面试网]收集整理了几乎整个架构师学习途中会遇到的面试题,希望大家都能早日圆自己的架构师梦~ 公众号:Java架构师面试网,关注回复"资料"即可领取精美整理的面试资料 ...
- Java架构师必看的10本书
转载自 Java架构师必看的10本书 1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解: ...
- 年薪30万的Java架构师必会的springboot面试题
[Java架构师面试网]收集整理了几乎整个架构师学习途中会遇到的面试题,希望大家都能早日圆自己的架构师梦~ 公众号:Java架构师面试网,关注回复"资料"即可领取精美整理的面试资料 ...
- Java架构师面试之Netty面试专题及答案(共10题,含详细解答)
[Java架构师面试网]收集整理了几乎整个架构师学习途中会遇到的面试题,希望大家都能早日圆自己的架构师梦~ 公众号:Java架构师面试网,关注回复"资料"即可领取精美整理的面试资料 ...
- 一线Java架构师概括互联网公司的标准Java技术架构
一线Java架构师概括互联网公司的标准Java技术架构 大部分人对于BAT的技术有一种莫名的崇拜感,觉得只有非常牛逼和天才才能做出现在的这些系统,但经过前面两篇博文的分析,我们可以看到其实并没有什么神 ...
- Java架构师知识体系汇总
Java架构师知识体系汇总 源码分析 常用设计模式 Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模 ...
最新文章
- Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
- Inside Linux kernel
- HDU 6052 To my boyfriend(容斥+单调栈)
- unity可以用python编写吗_基于python的Cා代码生成器(用于服务并应用于unity),一个,c,为了,并且,Unity...
- 当 高并发系统下 Redis 发生高延迟时,其内部到底发生了什么
- 首款鸿蒙系统终端n,荣耀智慧屏正式发布,首款搭载鸿蒙系统终端,家庭C位新选择...
- java 股票 代码_Java中利用散列表实现股票行情的查询_java
- (31)css常用属性兼容问题—需要加前缀的属性总结
- syslog-ng配置说明
- 95-190-446-源码-window-Trigger-DeltaTrigger
- TensorFlow手把手教你概率编程:TF Probability内置了开源教材,新手友好
- Ali-Tomcat 安装
- Linux 串口编程学习记录(termios.h)
- 芯片设计流程最全讲解
- unity3d 任务系统设计 mmo
- 浏览器兼容测试工具-IETest
- facade 门面模式和mediator 调停者
- 信号的扩展是因果_信号与系统 怎么判断e(1-t)的时不变和因果性?
- 网络编程之端口:端口号为什么常见是8000、8080、8888...
- html+js+css+mysql实现音乐播放器
热门文章
- 免费基金股票接口大全,macd,kdj,cci,威廉指标,神奇九转大全
- 计算机word考试试题模板,2017年职称计算机考试Word2003巩固练习题13
- 中银国际证券java面试_Re: 【offer求比较】深圳关内老师vs中银国际证券后 - 找工作啦(Job)版 - 北大未名BBS...
- 【分享一个动漫拼图项目】
- 《Linux基础》06. 进程管理 · 服务管理
- 视频监控SVAC安全控制简介
- 中集集团全球港航AI高科技独角兽中集飞瞳港口航运新枢纽人工智能技术走向成熟全球前三大船公司及港口码头应用落地港口智能化码头智能化
- 130242014013+杨俊杰+第3次实验
- Django——云笔记项目2
- 只要能言之有理,持之有据,则可立于讲台