说好的一周一更新,但是由于太忙了,日期都过了。人算不如天算,今天来好好补上!!

今天是***1024***,是一个属于程序员的节日,恭喜各位开发小哥哥小姐姐!!!(聪聪)发表的文章都是浅显易懂的,希望能帮助一些人认识都到计算机的一些基础,我们整天在干什么,都是工作了,只有分工不同,没有高级之分。
话不多说,直接进入正题!!!

Docker

在这里插入图片描述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的
Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

想必大家都知道,我们写的程序代码,App端 或者是Pc端,都是有UI ,前端 和后端服务支持的。但是随即有一个问题,写的代码是如何让大家使用上的呢?

服务器

“首先我们来看专业上服务器是怎么样定义的,服务器是一种高性能计算机,作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。也可以这样讲,服务器指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。”

> 简单来说

早上顶着黑眼圈醒来,想起昨天晚上熬夜打游戏又打的太晚了(游戏使用了应用程序服务器),然后结合现在的状态就想以后一定早点睡觉,晚上就打睡前一把,然后起来洗漱打开APP听着歌(应用程序服务器),弄完了,做车上班,在公交上面觉得无聊想起了之前一个比较好玩的网站,拿起手机搜索网站然后进去浏览(使用了Web服务器),看这网站刷了没有一会就到站了,你感觉时间过的真快,然后到公司,而在公司你所访问的服务器就更多了,(文件服务器,数据库服务器等等)。而说了这么多是什么意思了,就是服务器的作用在生活中是和我们息息相关的,只要使用网络,就基本要使用到服务器。

服务器我们有几大常用的,“亚马逊服务”,“阿里云服务”,“腾讯云服务”,“华为云”等等。他们可以让我代码打包成指定格式,配置好相应环境,就可以正常跑起程序。

作为服务器来说,核心是系统,我们多说开发软件的部署环境是“Linux”系统,市场上有几大系统,windos,ios等。
但“Linux”是开源的,免费的,是由全世界的工程师去维护的,并且轻量,唯一不足,没有图形化操作界面。极大提高了程序的运行效率,减少了cpu的占有。

Linux

在这里插入图片描述
这种命令操作还存在八九十年代,人们对电脑的认识。

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red
Hat Enterprise Linux、SUSE、Oracle Linux等。

本地学习

本地学习这个系统,我们需要一个模拟出一个新电脑**(虚拟机)**
虚拟机常用的是(VMware Workstation Pro)
在这里插入图片描述
还需要一个系统镜像,就是我们提到的“Linux” ,系统使用的是“centos7”,去官网下载centos
但是安装之后发现,操作很复杂,安装java,或者python环境,让人头疼,这个不仅是你头疼,还有程序员小哥哥,就有了后来的Docker

Docker为什么出现?

一款产品: 开发–上线 两套环境!应用环境,应用配置!

开发 — 运维。 问题:我在我的电脑上可以允许!版本更新,导致服务不可用!对于运维来说考验十分大?

环境配置是十分的麻烦,每一个及其都要部署环境(集群Redis、ES、Hadoop…) !费事费力。

发布一个项目( jar + (Redis MySQL JDK ES) ),项目能不能带上环境安装打包!

之前在服务器配置一个应用的环境 Redis MySQL JDK ES Hadoop 配置超麻烦了,不能够跨平台。

开发环境Windows,最后发布到Linux!

传统:开发jar,运维来做!

现在:开发打包部署上线,一套流程做完!

安卓流程:java — apk —发布(应用商店)一 张三使用apk一安装即可用!

docker流程: java-jar(环境) — 打包项目帯上环境(镜像) — ( Docker仓库:商店)-----

Docker给以上的问题,提出了解决方案!

docker能干嘛

比较Docker和虚拟机技术的不同:

传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件

容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了

每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响

镜像(image):

docker镜像就好比是一个目标,可以通过这个目标来创建容器服务,tomcat镜像==>run==>容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。

容器(container):

Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的.

启动,停止,删除,基本命令

目前就可以把这个容器理解为就是一个简易的 Linux系统

仓库(repository):

仓库就是存放镜像的地方!

仓库分为公有仓库和私有仓库。(很类似git)

Docker Hub是国外的。

阿里云…都有容器服务器(配置镜像加速!)

安装Docker

1.Linux要求内核3.0以上

2.CentOS 7

在这里插入图片描述

帮助文档:帮助文档
docker:官网

卸载与安装

#1.卸载旧版本 yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
#2.需要的安装包 yum install -y yum-utils

#3.设置镜像的仓库 yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo
#上述方法默认是从国外的,不推荐

#推荐使用国内的 yum-config-manager
–add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#更新yum软件包索引 yum makecache fast

#4.安装docker相关的 docker-ce 社区版 而ee是企业版 yum install docker-ce docker-ce-cli containerd.io # 这里我们使用社区版即可

#5.启动docker systemctl start docker

#6. 使用docker version查看是否按照成功 docker version

#7. 测试 docker run hello-world 12345678910111213141516171819202122232425262728293031323334353637
#8.查看已经下载的镜像(从这里可以查看已有镜像的id) [root@iz2zeak7sgj6i7hrb2g862z ~]# docker images REPOSITORY TAG IMAGE ID
CREATED SIZE hello-world latest
bf756fb1ae65 4 months ago 13.3kB 1234

卸载docker

#1. 卸载依赖 yum remove docker-ce docker-ce-cli containerd.io
#2. 删除资源 rm -rf /var/lib/docker

/var/lib/docker 是docker的默认工作路径! 12345

阿里云镜像加速 (登入阿里云账号检索)

#1.创建一个目录 sudo mkdir -p /etc/docker

#2.编写配置文件 sudo tee /etc/docker/daemon.json <<-‘EOF’ { “registry-mirrors”: [“https://t2wwyxhb.mirror.aliyuncs.com”] } EOF

#3.重启服务 sudo systemctl daemon-reload sudo systemctl restart docker 12345678910111213

还有很多后期慢慢分享,我要开始打麻将,跑车了 下周团建,更新推迟

ending (结束了)

在这里插入图片描述
在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐