2021-Java后端工程师必会知识点-(Docker)(上)

简介: 前言文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820…种一棵树最好的时间是十年前,其次是现在

Tips


面试指南系列,很多情况下不会去深挖细节,是小六六以被面试者的角色去回顾知识的一种方式,所以我默认大部分的东西,作为面试官的你,肯定是懂的。

www.processon.com/view/link/6…

上面的是脑图地址


叨絮


虽然公司用的都是容器,但是这个是容器组他们负责的,你一个搞业务开发的基本上就没能了解到那么全面了,所以今天小六六跟大家来学习了解了解Docker。

然后下面是前面的文章汇总

大家好,我是小六六,目前在一线互联网公司负责年营收过百亿的支付中台项目,感谢大家的支持,今天我们来看看 Docker

网络异常,图片无法展示
|


Docker简介


网络异常,图片无法展示
|


为啥是Docker

一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验,不知道大家公司是怎么样的,小六六这边就是用的Docker容器。

Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。 环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。


Docker的理念

Docker是基于Go语言实现的云开源项目。 Docker的主要目标是 “Build,Ship and Run Any App,Anywhere” ,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。

Linux 容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用运行在 Docker 容器上面,而 Docker 容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作


为什么要使用 Docker

作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势

  • 更高效的利用系统资源
  • 更快速的启动时间
  • 一致的运行环境
  • 持续交付和部署
  • 更轻松的迁移
  • 对比传统虚拟机总结

网络异常,图片无法展示
|


Docker下载


Docker安装(centos7)

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

$ uname -r
复制代码


2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update
复制代码


3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker  docker-common docker-selinux docker-engine
复制代码


4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
复制代码


5、设置yum源

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
复制代码


6、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r
复制代码


网络异常,图片无法展示
|

7、安装docker

$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce
复制代码


网络异常,图片无法展示
|

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker
复制代码


9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version
复制代码


网络异常,图片无法展示
|
10、Docker 镜像加速器 对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}
复制代码


之后重新启动服务。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
复制代码


相关文章
|
4天前
|
JavaScript Java 编译器
Java包装类和泛型的知识点详解
Java包装类和泛型的知识点的深度理解
|
1月前
|
Java 程序员 编译器
Java继承与多态知识点详解
本文主要讲解的是Java中继承与多态的知识点
|
1月前
|
Java 应用服务中间件 开发工具
苍穹外卖》电商实战项目(java)知识点整理(上)
苍穹外卖》电商实战项目(java)知识点整理(上)
155 3
|
9天前
|
Java
java线程知识点总结
Java线程核心概念:线程是程序执行流,一个进程可有多个线程。创建线程通过继承Thread或实现Runnable接口。线程状态包括新建、就绪、运行、阻塞、等待、超时等待和终止。同步用synchronized或Lock防止数据不一致,避免死锁。线程间通过共享变量、wait/notify通信。线程池(如ThreadPoolExecutor、ScheduledThreadPoolExecutor)优化性能和资源管理。
16 6
|
13天前
|
设计模式 安全 Java
Java基础知识点总结1
Java基础知识点总结
23 0
|
26天前
|
Java 索引
java知识点总结(二)
java知识点总结(二)
13 0
|
26天前
|
存储 Java 数据库
java基础的知识点(一)
java基础的知识点(一)
11 0
|
26天前
|
消息中间件 Dubbo Java
互联网 Java 工程师1000道面试题(485页)
互联网 Java 工程师1000道面试题(485页)
27 0
|
26天前
|
Kubernetes API Docker
Docker+K8s基础(重要知识点总结)
Docker+K8s基础(重要知识点总结)
51 0
|
27天前
|
人工智能 监控 Java
招个Java工程师,却发现了一个宝藏平台
招个Java工程师,却发现了一个宝藏平台
19 0
招个Java工程师,却发现了一个宝藏平台