【项目】全栈开发医疗小程序
文章目录
第1章 课程介绍
1.4 安装Docker服务
1.4.1 远程连接Linux系统
1 MobaXterm
这里笔者就直接finalshell 好吧,用老师这个吧,笔者也有
新建远程连接的时候,我们选择SSH方式,然后填写上连接信息。
新建会话
输入密码后就进来了
反正可以用就行了。
1.4.2 为什么要安装Docker?
我们现在拥有了CentOS系统,按理说可以在上面安装各种程序和服务了。但是高手并不会这么做,而是先安装
Docker环境,然后在Docker里面部署各种数据库和中间件程序。这么做有两点原因:一个是节省时间,另一个是
避免程序间的冲突。
比如说我们现在想要在Linux系统上搭建MySQL 集群,想要在一个Linux系统上面同时运行多个MySQL,你要做很多事情,例如定义繁复的配置文件和目录,然后还要写复杂的启动脚本,每个MySQL节点还要单独执行初始化等等,特别麻烦。
有了Docker之后,我们只需要运行几条命令,MySQL节点就创建好了,特别节省时间,而且Docker隔离性做的很好,你也不用担心MySQL节点之间的冲突。
再比如说,你们公司开发了很多项目。去年开发的)ava项目用的是DK1.8和MariaDB数据库,已经部署在Linux 上
面了。今年开发的项目用的是JDK15和MySQL数据库,现在要把这个项目也部署在同一个Linux系统,之上,那就非常困难。因为MySQL和MariaDB的程序包有冲突,在同一个Linux系统中只能安装其中一个数据库,要么是MySQL要么是MariaDB。还有JDK1.8和JDK15,你怎么给系统设置两个Java环境变量?
所以我们就需要引入Docker环境了。
1 Docker原理
往简单了说,Docker是个沙箱环境。你可以创建很多个沙箱空间,然后在每个沙箱中部署不同的程序。比如沙箱
A里面部署MySQL,沙箱B中部署MariaDB。沙箱之间是物理隔绝的,只有网络可以联通,所以MariaDB和MySQL
程序包的冲突,在Docker中完全体现不出来。
因为Docker环境给每个沙箱都创建了虚拟网卡,所以每个沙箱都有自己的内网IP地址,沙箱之间可以通过网络相
互调用,这就能搭建数据库集群或者部署项目了。沙箱的内网IP在Dockerl环境之外是无法访问的,所以等我们创
建沙箱的时候,需要把沙箱的某个端口映射到Linux系统的某个端口,这样在Docker之外才能用网络访问Docker容器里面的程序。
2 镜像和容器
Docker为了最大化的共享资源,减少资源浪费,创造出了镜像技术。
镜像是沙箱之间相同的部分,差异化的部分叫做容器。比如说一个Java镜像,里面安装了JDK1.8,然后我为这个镜像创建出2个容器,这两个容器共享使用JDK镜像中的Java环境,并且我可以在每个容器中部署不同的Java程序。
如果Docker没有镜像技术,我们只能分别在两个容器中安装JDK环境,这就造成了不必要的重复浪费。
创建Docker镜像的方式有多种,比如说你把要安装的程序和脚本写成Dockerfile文件,然后执行特殊的命令,
Docker就会按照你的要求创建出镜像。
或者说你利用现有的容器,在里面安装程序写好脚本,然后把这个容器逆向创建出镜像也可以。甚至说你不想自己创建镜像,也可以去DockerHub网站上下载别人创建的镜像。比如MySQL镜像、HBase 镜像、JDK镜像、Python镜像等等。你把镜像下载下来,导入Docker环境,然后创建容器就可以使用MySQL、HBase这些东西了,特别节省时间。
3 程序运行在容器中,性能有没有损失?
Docker创建的沙箱是轻量级的,只给容器创建了虚拟网卡,所以对Linux系统开销非常小。在容器中运行程序跟在
Linux同直接运行程序没有差别,性能也没有任何损失,所以你可以放心使用Docker环境。
现实中,一台硬件服务器同时运行几百个容器也没有问题。即便2GB内存的低端云主机,运行十几个容器也能撑得下来。
1.4.3 安装Docker环境
1 关闭SELINUX服务
SELINUX是CentOS自带的家全服务,因为晦涩难用,并且跟很多程序冲突,所以强烈建议大家关闭这个服务。
找到/etc/sysconfig/selinux
文件,把其中的SELINUX设置为disabled,保存文件之后重启CentOS系
统。
记得重启系统。
2 更新yum程序
yum命令是CentoS自带的软件包管理器,我们安装Docker之前,最好能先更新一下yum命令,然后等上十分钟左
右,yum就更新好了。
yum update -y
3 安装Docker
执行安装命令,Docker就自动安装好了。
yum install -y docker
这里笔者换了个命令【以前弄过的命令】
https://dingjiaxiong.blog.csdn.net/article/details/128557317
4 管理Docker
启动和关闭Docker服务,可以通过下面的命会完成。每次启动机Linux系统,别忘了要运行Docker服务,切记!
当然其实也可以将Docker 服务设置为开机自启动
service docker start
service docker stop
命令笔者也直接用 systemctl的命令了,
查看Docker 中的镜像列表,可以执行下面的命令:
docker images
想要删除某个镜像可以用下面的命令:
docker rmi 镜像名
全部删了吧,这是笔者之前用过的东西。
OK,这样就把Docker 准备好了,重启一下系统吧