分享好友 最新动态首页 最新动态分类 切换频道
linux安装Docker并运行web项目
2024-12-27 00:41

linux安装Docker并运行web项目

一、      在centos7.1下安装Docker

首先安装wget工具

# yum install -y wget

 

安装docker

# yum -y install docker-io   

启动docker

# service docker start     

加入开机启动 

#chkconfig docker on     

查看Docker安装是否成功,如下图所示即为成功

# docker version                    

 

二、      下载镜像,启动容器

1、        下载镜像

查看已下载的镜像       

#docker images    

从docker.io中下载ubuntu:14.04镜像到本地 /var/lib/docker/graph

#docker pull ubuntu:14.04 

查看镜像是否下载成功

# docker images

    

启动容器

(下面启动命令是加载了宿主机的download文件夹到容器里的software文件夹中

# docker run -i -t -v /download/:/mnt/software/ 7c09e61e9035 /bin/bash

这条命令比较长,我们稍微分解一下,其实包含以下三个部分

    docker run <相关参数> <镜像 ID> <初始命令> 

也可以使用# docker run -i -t 7c09e61e9035 /bin/bash 来启动

·  其中,相关参数包括:  

·  -i:表示以“交互模式”运行容器  

·  -t:表示容器启动后会进入其命令行  

·  -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录> 

假设我们的所有安装程序都放在了宿主机的/download/目录下,现在需要将其挂载到容器的/mnt/software/目录下。

需要说明的是,不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”,例如:oursuer/ubuntu:14.04。

初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,只需进入命令行即可。

退出容器使用Ctrl+d或输入exit

如果退出容器后,可以再次使用命令(注意,得先运行docker run之后然后被stop掉的容器才可以使用如下命令

# docker start 容器ID   来启动容器

其中容器ID。使用命令docker ps -a来看,如下

# docker ps -a

然后再次启动已启动过但现在是关闭的容器

# docker start 容器ID或容器名  

这个命令只会启动容器,不会进入容器。要进入容器得用命令

# docker attach 容器ID或容器名  

三、    安装tomcat和jdk1.7

首先先将JDK和tomcat的安装包.gz文件放在宿主机的/download文件夹下(在根目录新建download文件夹 然后可以选择从网上下载或者本地上传tomcat和jdk到centos7.1 的download文件之下

启动容器并加载文件夹内容(下面启动命令是加载了宿主机的download文件夹到容器里的software文件夹中

# docker run -i -t -v /download/:/mnt/software/ 7c09e61e9035 /bin/bash

或者使用下面这种方式,先启动容器再进入容器内部

1、JDK安装(本教程jdk版本为jdk-7u79-linux-x64.tar.gz

# cd /usr  

# mkdir java  

# cd java  

# mkdir jdk  

# cd /mnt/software/  

# tar zxvf jdk-7u79-linux-x64.tar.gz -C /usr/java/jdk  

这里直接接文件解压到/usr/java/jdk目录。

配置环境变量

# vi /etc/profile 

添加如下内容

#set java environment   

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

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

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

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

保存后执行。

# source /etc/profile    

验证安装:出现java版本则安装成功
# java -version   

2、Tomcat安装(版本 apache-tomcat-7.0.75.tar.gz

解压安装包

cd /usr/java  

mkdir tomcat  

cd /mnt/software/  

tar zxvf apache-tomcat-7.0.75.tar.gz -C /usr/java/tomcat 

 配置环境

进入到上面的tomcat的bin文件夹下

#  vi setclasspath.sh  

在配置文件中部添加如下代码

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

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

保存退出后,在bin目录下执行

# https://blog.csdn.net/chicha2708/article/details/startup.sh  

如果能看到tomcat启动成功则代表安装成功

四、    配置容器启动环境变量

这里是设置容器启动时加载的环境变量

1、  设置环境变量

首先,编辑.bashrc文件

# vi ~/.bashrc  

然后,在该文件末尾添加如下配置

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

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

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

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

最后,需要使用source命令,让环境变量生效

source ~/.bashrc  

2、编写运行脚本

我们需要编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat,具体过程如下

首先,创建运行脚本

vi /root/run.sh  

然后,编辑脚本内容如下

#!/bin/bash  

source ~/.bashrc  

 sh /usr/java/tomcat/apache-tomcat-7.0.68/bin/catalina.sh run  

为运行脚本添加执行权限

# chmod u+x /root/run.sh  

五、    退出容器

当以上步骤全部完成后,可使用exit或ctrl+d命令,退出容器。
随后,可使用如下命令查看正在运行的容器
docker ps
此时,您应该看不到任何正在运行的程序,因为刚才已经使用exit命令退出的容器,此时容器处于停止状态,可使用如下命令查看所有容器
# docker ps –a

记住以上Container ID(容器 ID,随后我们将通过该容器,创建一个可运行 Java Web 的镜像。

六、    创建java web镜像

使用以下命令,根据某个“容器 ID”来创建一个新的“镜像”

# docker commit 89a47b5b749e  lin_javaweb:0.1  

上面的命令# docker commit 容器ID  lin_javaweb:0.1  (命名

查看镜像

七、    启动 java web 容器

可见,此时已经看到了最新创建的镜像“lin_javaweb:0.1”,其镜像 ID 是“4487bd38df06”。正如上面所描述的那样,我们可以通过“镜像名”或“镜像 ID”来启动容器,与上次启动容器不同的是,我们现在不再进入容器的命令行,而是直接启动容器内部的 Tomcat 服务。此时,需要使用以下命令

# docker run -d -p 58080:8080 --name javaweb lin_javaweb:0.1 /root/run.sh  

解释

-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。  

-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。  

--name:表示容器名称,用一个有意义的名称命名即可。 

关于 Docker 网桥的内容,需要补充说明一下。实际上 Docker 在宿主机与容器之间,搭建了一座网络通信的桥梁,我们可通过宿主机 IP 地址与端口号来映射容器内部的 IP 地址与端口号
在一系列参数后面的是“镜像名”或“镜像 ID”,怎么方便就怎么来。最后是“初始命令”,它是上面编写的运行脚本,里面封装了加载环境变量并启动 Tomcat 服务的命令。
当运行以上命令后,会立即输出一长串“容器 ID”,我们可通过docker ps命令来查看当前正在运行的容器。

在浏览器中,输入以下地址,即可访问 Tomcat 首页
http://127.0.0.1:58080/

八、    在tomcat上部署我们的应用

接下来我们要部署我们的应用上去,思路是进入到容器里面去,此时可以把容器想象为一个新的机器,我们只需要到tomcat的webapp丢war,然后重启就行了.

1.  进入容器内部

# 89a47b5b749e  

2.  查看tomcat的路径

/tomcat/webapps

3.  将war包传到宿主机上的download文件夹里面,然后通过webapps文件夹加载download文件来实现自动部署。

# docker run -i -t -v /download/:/usr/java/tomcat/tomcat7/webapps 89a47b5b749e  /bin/bash

 4.重启容器

# docker start 容器ID或容器名

5.在宿主机上打开58080端口,在外部也可以用访问web应用

 

 

 

 

 

最新文章
谷歌广告代理:谷歌推广包年怎么样?谷歌代理商包年推广大揭秘!
写在前面:其实,做包年的谷歌推广“代理商”,压根就不算是谷歌正规代理商。谷歌代理:谷歌推广有官方后台,在后台里,你可以自由设置广告、关键字,广告语,投放时间段、国家地区等,当然,你的广告花费也一目了然。警惕谷歌推广包年:明
苹果手机死机了怎么办 如何解决手机卡屏问题 ?
苹果手机之所以受到多数人的追捧,并不是全部因为它是一款土豪级,代表的是面子,更多的是因为它的性能确实好,比起其他手机的运行速度快切换刷机速度快,虽然使用寿命比其他手机好,但是还是存在一些问题,苹果手机同样会死机或卡屏,遇上
荆州屋顶漏水维修电话〈免费上门〉荆州屋顶防水补漏师傅
不砸砖、不砸墙;免砸砖防水补漏技术,2小时快速解决漏水问题,超长保修期。漏水维修服务项目:楼顶漏水、卫生间漏水、洗浴间漏水、楼顶裂缝漏水、玻璃房漏水、飘窗防水、阳台漏水、洗手间墙面起皮、厨房漏水、外墙渗水、建筑防水、泳池渗水、
如何实现公众号排版自动化?微信公众号一键排版软件推荐
很多公众号排版时,都会使用自己固定的模板,来塑造自己公众号的特色,但是,即使有了固定的模板,我们每次还是需要手动排版,将样式运用到对应的地方。那么,有没有什么办法可以让我们快速排版呢?小编推荐大家试试壹伴助手的一键排版功能
超级itv电视!!(无购物台,极速、流畅)-百度网盘
超级itv电视版是款超级好用的影视播放神器,支持电视直播和点播两种追剧模式,全球的电视频道都能免费观看,播放流畅稳定,全程无广告,还支持回放功能哦,欢迎下载!!超级itv电视版简介最好用的是广电盒子的免费IPTV,安装宽带的时候都会有
与网贷平台协商还款的正确步骤是什么?
与网贷平台协商还款小编导语随着互联网金融的迅速发展,网贷平台在满足个人和小微企业融资需求的也带来了不少风险和挑战。许多人在急需资金时选择了网贷,但随着债务的增加,部分借款人面临还款困难。在这种情况下,与网贷平台协商还款成为
苹果手机自动关机怎么设置
苹果手机作为现代生活中不可或缺的智能设备,其功能的多样性和便捷性备受用户青睐。其中,自动关机功能对于节省电量、避免打扰等方面具有重要意义。本文将详细介绍如何在苹果手机上设置自动关机。一、使用“时钟”应用程序苹果手机自带的“
成品短视频crm入口在哪里打开:让内容管理更加智能化-提升创作和管理效率
成品短视频crm入口在哪里打开这个问题,是许多短视频创作者和企业营销人员都非常关注的一个焦点。短视频内容的创作和管理,离不开高效的工具支持,而成品短视频crm系统则是一个能够大幅提升效率的重要平台。通过找到正确的入口,用户可以快
seo积分排名系统源码_SEO快速排名系统操作手法以及细节
SEO快速排名是目前我国SEO行业最热门的话题之一。总之,所有的快速行都可以用两个词来解释,那就是点击,任何行业,包括SEO,都可以使用的原因也是一样的。例如,目前我国有大量的快速排序系统,
芯片利好最新消息 - 半导体行业迎来新机遇全球顶尖芯片公司联合发布创新技术
半导体行业迎来新机遇:全球顶尖芯片公司联合发布创新技术在科技快速发展的今天,芯片作为信息时代的灵魂,其影响力和重要性日益凸显。近期,一系列“芯片利好最新消息”激发了业界对未来趋势的期待。全球顶尖芯片公司共同推出了一系列创新
相关文章
推荐文章
发表评论
0评