docker linux 用哪个

docker linux 用哪个,第1张

虽说标准的硬件虚拟化技术(比如KVM、Xen或Hyper-V)擅长于在一个物理主机上运行多个 *** 作系统的完全隔离的实例,但这种虚拟化技术在性能、资源和资源配置时间等方面存在各种各样的开销。标准的机器虚拟化实际上可能没有必要,这取决于你的实际使用场合。另外一种轻型虚拟化方法就是所谓的Linux容器(LXC),它提供了 *** 作系统级别的虚拟化。由于不存在运行虚拟机带来的开销,LXC让用户可以在轻型容器沙盒里面运行标准Linux *** 作系统的多个实例。如果你搭建一个可复制的开发/测试环境,或者在安全沙盒里面部署应用程序,容器就派得上大用场。Docker就是为了便于部署Linux容器而开发的这样一款开源工具。Docker正迅速成为容器技术方面的一项事实上的标准,已经被诸如Ubuntu和红帽之类的各大Linux发行版所采用。我在本教程中将演示如何在Ubuntu14.04上,借助Docker管理Linux容器。请注意:对Ubuntu的早期版本而言, *** 作步骤可能略有不同。眼下,Ubuntu上可用的Docker程序包只支持64位系统。想在32位机器上运行它,你就要利用源代码构建32位版本的Docker(详见这里)。安装Docker借助apt-get命令,安装Docker是件轻而易举的事。$sudoapt-getinstalldocker.io为了允许非根用户也可以运行Docker,将你自己添加到docker群组。下面这个命令会允许当前用户运行Docker,无需根用户权限。$sudousermod-a-Gdocker$USER退出,然后重新登录,以激活群组成员的变化。下一步,编辑Docker配置文件,以便更新Docker二进制代码的位置。$sudovi/etc/default/docker.ioDOCKER="/usr/bin/docker.io"重启Docker服务。$sudoservicedocker.iorestart管理Docker容器如果你想启动Ubuntu *** 作系统的一个新的Docker容器,首先需要获取UbuntuDocker映像文件。下面这个命令会通过网络下载Docker映像文件。$dockerpullubuntu你可以以一种交互模式来开启UbuntuDocker,如下所示。最后一个参数“/bin/bash”是一旦启动就将在容器里面执行的命令,这里是一个简单的bash外壳命令。$dockerrun-i-tubuntu/bin/bash上述命令会立即启动一个Ubuntu容器(这正是容器的魅力所在!),并为你提供容器里面的外壳提示符。这时候,你应该能够访问沙盒环境里面的标准的Ubuntu *** 作系统了。想退出Docker容器,在容器里面的提示符处键入“exit”。你可以启动不同形式的容器。比如,想启动Fedora容器,请执行下面这个命令:$docker.iorun-i-tfedora/bin/bash如果本地没有FedoraDocker映像文件,该命令就会首先自动下载映像文件,然后启动Docker。如果你想启动采用某个发行版版本的容器,也可以这么做。比如说,想启动Ubuntu13.04Docker,请执行下面这个命令:$docker.iorun-i-tubuntu:13.04/bin/bash容器网络Docker使用Linux网桥将容器彼此互联起来,并将它们连接到外部网络。安装了Docker后,你应该会看到默认情况下自动组建的docker0Linux网桥。你创建的每个容器都将连接到docker0网桥接口。自定义Linux网桥如果你想,也可以使用自定义Linux网桥将诸容器互联起来。为此,你可以建立一个自定义网桥,并对它进行配置,如下所示。你可以为该网桥分配一个单独的子网,并且从子网为Docker分配IP地址。我会使用10.0.0.0/24作为Docker子网。$sudoapt-getinstallbridge-utils$sudobrctladdbrbr0$sudoifconfigbr010.0.0.1netmask255.255.255.0想让Docker使用自定义网桥,将“-b=br0”添加到/etc/default/docker.io中的DOCKER_OPTS变量,然后重启Docker服务。$sudoservicedocker.iorestart至此,任何新的容器都会连接到br0,其IP地址会自动从10.0.0.0/24来分配。其他定制还有另外几种方法可以定制Docker的默认网络设置,主要是通过改动/etc/default/docker.io中的DOCKER_OPTS变量来实现。“-dns8.8.8.8-dns8.8.4.4”:指定容器使用的DNS服务器。“-icc=false”:让诸容器彼此隔离开来。故障排查1.运行docker.io命令时,你会遇到下面这个错误。dialunix/var/run/docker.sock:nosuchfileordirectory(没有此类文件或目录)出现这个错误,可能是由于Docker守护程序没在运行。检查Docker守护程序的状态,确保先启动它。$sudoservicedocker.iostatus$sudoservicedocker.iostart

单的说,Linux是Unix克隆(Unix clone)或Unix风格(Unix alike)

的 *** 作系统(OS),在原代码级上兼容绝大部分Unix标准(指的是IEEE

POSIX,System V,BSD),是一个支持多用户, 多进程,多线程,实时性

较好的功能

强大而稳定的 *** 作系统.它可以运行在x86 PC,Sun Sparc,Digital Alpha

,680x0,PowerPC, MIPS等平台上,可

以说Linux是目前运行硬件平台最多的 *** 作系统. Linux最大的特点在于

它是GNU(Gnu's Not Unix----有点分形与混沌的意味----无限自包含,

简单的说GNU是一种自由软件体系)的一员,遵循公共版权许可证(GPL),秉承

"自由的思想,开放的源码"的原则,成千上万的专家/爱好者通过Internet

在不断地完善并维护它,可以说Linux是计算机爱好者自己的 *** 作系统.

追述Linux的历史直到1990年,Linus Torvalds还是芬兰赫尔辛基大

学的一名学生,最初是用汇编语言写了一个在80386保护模式下处理

多任务切换的程序,后来从Minix(Andy Tanenbaum教授所写的很小

的Unix *** 作系统,主要用于 *** 作系统教学)得到灵感,进一步产生了

自认为狂妄的想法----写一个比Minix更好的Minix,于是开始写了

一些硬件的设备驱动程序,一个小的文件系统,......,这样0.0.1

版本的Linux就出来了,但是它只具有 *** 作系统内核的勉强的雏形,

甚至不能运行,你必须在有Minix的机器上编译以后才能玩.这时候

Linus已经完全着迷而不想停止,决定踢开Minix,于是在1991年10

月5号发布Linux 0.0.2版本,在这个版本中已经可以运行bash

(the GNU Bourne Again Shell----一种用户与 *** 作系统内核通讯的软件)

和gcc(GNU C 编译器).从一开始,Linus就决定自由扩散Linux,包括原代码,

他在comp.os.minix新闻讨论组里发布Linux 0.0.2时写到:

"Do you pine for nice days of Minix-1.1, when mem were men

and wrote their own device drivers? Are you without a nice

project and just dying to cut your teeth on a OS you can

try to modify for your needs? Are you finding it frustrsting

when everything works on Minix? No more all-nighters to

get a nifty program working? Then this post might be just

for you.

"As I mentioned a month ago, I'm working on a free version

of a Minix-lookalike for AT-386 computers. It has finally

reached the stage where it's even usable(though may not be

depending on what you want),and I am willing to put out

the sources for wider distribution. It is just version

0.0.2 ... but I've successfully run bash,gcc,gnu-make,

gnu-sed,compress,etc.under it."

随即Linux引起黑客们(hacker)的注意,通过计算机网络加入了Linux的

内核开发,Linux倾向于成为一个黑客的系统----直到今天,在Linux社区

里内核的开发被认为是真正的编程.由于一批高水平黑客的加入,使Linux

发展迅猛,到1993年底94年初,Linux 1.0终于诞生了! Linux 1.0已经是一

个功能完备的 *** 作系统,而且内核写得紧凑高效,可以充分发挥硬件的性能,

在4M内存的80386机器上也表现得非常好,至今人们还在津津乐道于此,

不过自从2.1.xx系列的内核Linux开始走高端的路子----硬件的发展太快了,

但是Linux不会失去它的本色.Linux具有良好的兼容性和可移植性,大约在

1.3版本之后,开始向其他硬件平台上移植,包括号称最快的CPU---Digital

Alpha(至少目前主频是最高的).所以不要总把Linux与低档硬件平台联系

到一块,Linux发展到今天,这是一个误区,它只是将硬件的性能充分发挥

出来而已,Linux必将从低端应用横扫到高端应用!

在Linux的发展历程上还有一件重要的事:Linux加入GNU并遵循公共

版权许可证(GPL).此举大大加强了GNU和Linux,几乎所有应用的GNU

库/软件都移植到Linux,完善并提高了Linux的实用性,而GNU有了一

个根基,我现在也搞不清楚到底是GNU Linux呢还是基于Linux的GNU.

:-) 更重要的是遵循公共版权许可证,在继承自由软件的精神的前

提下,不再排斥对自由软件的商业行为(如把自由软件打包以光盘形

式出售),不排斥商家对自由软件进一步开发,不排斥在Linux上开发

商业软件.从此Linux又开始了一次飞跃,出现了很多的Linux发行版

,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多种,而且

还在增加,注意你不能说"Redhat Linux""Suse Linux""Slackware

Linux"等等,Linux主要指 *** 作系统内核,对所有发行版内核原代码

都是一样的(但集成的内核版本可能因发行时间不同而有所不同).

还有一些公司在Linux上开发商业软件或把其他Unix平台的软件移

植到Linux上来,如今很多IT业界的大腕如IBM,Intel,Oracle,Infomix

,Sysbase,Corel,Netscape,CA,Novell等都宣布支持Linux! 商家的

加盟弥补了纯自由软件的不足和发展障碍,Linux迅速普及到广大计

算机爱好者,并且进入商业应用,正是打破某些公司垄断文化圈的希

望所在!!

Linux是爱好者们通过Internet协同开发出来的,当然它的网络功能十

分强大,比如你可以通过ftp,nfs等来安装Linux,用它来做网关等等.

随着Linux的发展衍生出来的应用恐怕出乎Linus本人最初的预料,

如有人用它来做路由器,有人来做嵌入式系统,有人来做实时性系统.

.....常有新手问Linux能做什么,其实它不象那些中看不中用的 *** 作

系统,不在于你用它能干什么,而在于你想干什么!

Linux的兴起还给人们很多启迪与思考,如集市式软件开发的讨论,

又如自由软件的精神......

.

参考资料:

apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。

Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。

Apache web服务器软件拥有以下特性:

支持最新的HTTP/1.1通信协议

拥有简单而强有力的基于文件的配置过程

支持通用网关接口

支持基于IP和基于域名的虚拟主机

支持多种方式的HTTP认证

集成Perl处理模块

集成代理服务器模块

支持实时监视服务器状态和定制服务器日志

支持服务器端包含指令(SSI)

支持安全Socket层(SSL)

提供用户会话过程的跟踪

支持FastCGI

通过第三方模块可以支持Java Servlets

如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。

Apache有名的几个项目介绍

HTTP Server

这个在前面的段落介绍过了,Apache已经是他的代号了

ActiveMQ

免费开源由java编写符合JMS1.1标准的消息中间件。

另外,它也支持通过除java语言外的语言的使用

Ant

这个太出名了。标准的批处理工具。是一套基于java的程序打造工具

Commons

一些常用的工具类库,包括common-pool,dbcp,fileupload,Common-beans等。

Excalibur

它的主要产品是一个由java写成的,名字叫做Fortress(要塞) 的轻量级的可嵌入式反向控制容器。

iBATIS

并入的一个项目,是ORM的一个很流行的工具

Geronimo

是Apache软件基金会为了创造一个兼容j2ee的容器,而整理出来的一个新成果

Jakarta

许多Java子项目的集成,tomcat,ant等就是从这里孵化出去的。

James

是一套用java开发的邮件、新闻组、消息服务器。它使用的avalon组件框架。目前支持 SMTP, POP3 和 NNTP 很快也会支持 IMAP

Logging

基于java的可靠,快速,扩展性强的日志工具

Maven

是一套java开发的工程综合管理工具。它基于工程对象模型(POM)的理念

Portals

门户产品

Struts

一套通过servlets和jsp来搭建web应用的MVC框架

Tomcat

用量最大的免费的Java服务器


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8564744.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存