Linux环境部署------docker篇

前言:在linux系统中部署环境往往要修改很多配置,利用docker容器技术可以简便这些操作,快速部署服务器环境。

docker:通俗来说,就是类似于虚拟机的运行原理,寄宿在主机上运行。而在docker容器里面运行的各种容器,类似于安装window系统需要的镜像,当一个系统安装纯净版时,什么都没有,啥驱动和软件都要自己亲自去安装,这时候的就有了镜像,人们把自己安装配置好软件的系统打包,提供给被别人安装,当别人安装了这个系统时,就不用自己安装驱动,同时也会有一些别的软件。而docker就是参照这个原理,将安装时要手动配置的步骤打包成docker,供别人pull,当别人将这个软件pull到自己主机时,配置就不用自己手动添加了,达到一键安装的效果。

结构图:

 

                     运行各种镜像产生的容器

                              Mysql容器

                              Tomcat容器

                              Redis容器等

                               Docker容器

                               Linux(主机)

1、首先在linux系统通过传统的方式安装jdk和tomcat

Linux系统:Centos7.3(可以用自己搭建的虚拟机,也可租云服务器)

工具:

SmarTTY(或Xshell):用做远程连接Linux系统

Xftp:用做与Linux系统传输文件

所需的软件:

Linux环境部署------docker篇_第1张图片

 Xftp连接到centos系统后,在/usr/目录下新建java,其子目录下创建jdk和tomcat文件夹,用来放置jdk和tomcat

Linux环境部署------docker篇_第2张图片

用Xftp传输两个压缩包到相关的目录下,进入文件夹,进行解压

解压命令:

#tar -xvf jdk-8u191-linux-x64.tar.gz 
#tar -xvf apache-tomcat-7.0.91.tar.gz 

执行结果:

 

Linux环境部署------docker篇_第3张图片

配置jdk环境变量

方法一:

打开编辑文件:

#vi /etc/profile

在任意位置添加以下配置:

export JAVA_HOME=/usr/java/jdk/jdk1.8.0_191

export JRE_HOME=/usr/java/jdk/jdk1.8.0_191/jre

export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH

Linux环境部署------docker篇_第4张图片

编辑完内容后,按下Esc键,并输入“:wq”,然后回车可以保存退出。

使配置文件生效:

#source /etc/profile

验证jdk环境:

# java -version

Linux环境部署------docker篇_第5张图片

方法二:

利用Xftp可视化窗口直接打开profile文件编辑

Linux环境部署------docker篇_第6张图片

去到相应文件夹下开启tomcat服务

# ./startup.sh

Linux环境部署------docker篇_第7张图片

 阿里云服务器是默认关闭防火墙的

# firewall-cmd --state

 为了安全需要开启防火墙的话,添加相关的出站规则即可,查看端口状态

# netstat -lnp

Linux环境部署------docker篇_第8张图片

访问项目:

传输war包到tomcat下的webapps目录下,然后访问项目 

Linux环境部署------docker篇_第9张图片

但是,这时候是访问不到项目的,因为阿里云服务器设置了双重防火墙,还要去控制台开启相关端口的出站规则

Linux环境部署------docker篇_第10张图片

 Linux环境部署------docker篇_第11张图片

2、docker方式安装mysql 

首先检查linux是否支持docker,内核版本3.10以上才支持

# uname -r

 

安装docker

# yum install docker

Linux环境部署------docker篇_第12张图片

 开启docker服务

# systemctl start docker

开启docker自启动

# systemctl enable docker

利用docker搜索mysql 

# docker search mysql

Linux环境部署------docker篇_第13张图片

相当于在网站https://hub.docker.com上面搜索

Linux环境部署------docker篇_第14张图片

进入一个mysql,里面有各种版本,默认下载的是最新版本

 Linux环境部署------docker篇_第15张图片

 下载mysql5.7版本

# docker pull mysql:5.7

Linux环境部署------docker篇_第16张图片

 启动容器,第一次启动需要根据镜像来启动容器

# docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7

 

--name 自定义容器名字:容器名字

-d:在后台运行

-e MYSQL_ROOT_PASSWORD=数据库密码:设置mysql密码,启动其他容器时不用加这个参数

-p 3306:3306:端口映射,容器端口映射到主机端口,因为外部是不能访问到容器端口的,如果是tomcat,则要映射8080端口

mysql:5.7:拉取的镜像名称

还有一些常用的docker命令

容器:

# docker ps:查看运行中的容器

# docker ps -a:查看所有的容器

# docker stop 容器id:停止运行中的容器

# docker start 容器id:启动容器(第二次启动用这个)

# docker rm 容器id:删除容器

镜像:

# docker images:镜像的列表

# docker rmi 镜像id:删除镜像

不要混淆了镜像和容器的概念,容器是通过运行镜像来产生的

看到这里,大家是不是有疑问了?很正常

疑问一:为什么不用docker方式安装tomcat?

因为通过docker安装的软件,不能通过Xftp直接可视化部署项目,只能通过命令来进入docker版的tomcat,对于部署项目就有点不方便了

对tomcat的相关操作(图转载自网络,侵权可告知删博):

Linux环境部署------docker篇_第17张图片

疑问二:为什么要用docker方式安装mysql? 

直接安装mysql的话,还需要自己设置相关的设置,有点麻烦,docker的一键安装比较方便,docker还可以安装其他的软件,例如redis、mongodb等众多软件,用起来也方便,当然,也可以自己定义docker,用自己配置好的docker容器,这部分这里没有介绍到,有兴趣的可以去了解下。

总结:各种技术层出不穷,学会如何高效的应用到开发当中才是最重要的。

你可能感兴趣的:(linux,linux,docker,centos,ubuntu)