Docker如何使用,java面试反问面试官的问题

3.开发人员的生产化

在一个开发环境,我们希望我们的开发环境能更加接近于生产环境,我们会让每个服务运行在自己的VM中,这样能模拟生产环境,比如有时我们并不总是需要跨越网络连接,这样我们可以将多个Docker装载一系列服务运行在单机上最大程度模拟生产分布式部署的环境。

4.应用隔离

有很多理由你需要在一台机器上运行多个应用,这就需要将原来铁板一块monolithic的应用切分为很多微服务。实现应用之间的解耦,将多个应用服务部署在多个Docker中能轻松达到这个目的。

5.服务合并

使用Docker也能合并多个服务以降低费用,不多的操作系统内存占用,跨实例共享多个空闲的内存,这些技术Docker能以更加紧密资源提供更有效的服务合并。

6.多租户

Docker能够作为云计算的多租户容器,使用Docker能容易为每个租户创建运行应该多个实例,这得益其灵活的快速环境以及有效diff命令。

7.快速部署

Docker通过创建进程的容器,不必重新启动操作系统,几秒内能关闭,你可以在数据中心创建或销毁资源,不用担心额外消耗。典型的数据中心利用率是30%,通过更积极的资源分配,以低成本方式对一个新的实例实现一个更聚合的资源分配,我们很容易超过这个利用率,大大提高数据中心的利用效率。

8.环境统一 docker将容器打包成镜像,创建符合docker hub规范的镜像,上传进个人的私有docker hub,转换环境时直接pull即可,最大程 度的保证了开发环境,正式环境统一

1.2、Docker缺点


Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:

1、Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用

2、LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的

3、隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库

4、网络管理相对简单,主要是基于namespace隔离

5、cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)

6、Docker对disk的管理比较有限

7、container随着用户进程的停止而销毁,container中的log等用户数据不便收集

2、Docker安装部署

===========================================================================

2.1、安装


yum install docker

2.2、开启服务


systemctl start docker.service

2.3、安装镜像(这里是以centos为例)


docker pull centos:7.2.1511

可以利用以下命令查看是否安装成功

docker images

在这里插入图片描述

3、开启该镜像的服务

=========================================================================

一个镜像可以开启N多次,彼此操作之间不影响。也就是说你在A镜像中删除某文件,但是B镜像中的该文件还依然存在,不会影响。以下举个例子,其中4cbf是镜像IMAGE ID字段,前四位的缩写。

docker run -ti 4cbf /bin/bash

开启后会自动进入到镜像中,此时操作就是再镜像中了,查看是否真的是在镜像中

uname -a

在这里插入图片描述

记住按“ctrl + q + p”组合键退出该镜像,这样镜像并不会停止服务,可以通过该命令查看

docker ps

如果不小心结束了该服务,比如说按了exit等,还可以通过该命令查看

docker ps -a

在这里插入图片描述

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

分享

这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

Spring Cloud实战

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

Spring Boot实战

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

面试题整理(性能优化+微服务+并发编程+开源框架+分布式)

想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!

[外链图片转存中…(img-psOdUvmr-1710961644246)]

Spring Cloud实战

[外链图片转存中…(img-B5ArG7Px-1710961644248)]

Spring Boot实战

[外链图片转存中…(img-xzaZJkYb-1710961644249)]

面试题整理(性能优化+微服务+并发编程+开源框架+分布式)

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值