网站锚点,html5 公司网站,ppt设计器在哪里,网站推广费用价格摘要#xff1a;本文主要讲了怎样在Ubuntu14.04 64位系统下来创建一个执行Java web应用程序的Docker容器。一、下载镜像、启动容器1、下载镜像先查看镜像docker images记住这个Image ID#xff0c;下面我们启动容器须要用到它。假设看到以上输出#xff0c;说明您能够使用“…摘要本文主要讲了怎样在Ubuntu14.04 64位系统下来创建一个执行Java web应用程序的Docker容器。一、下载镜像、启动容器1、下载镜像先查看镜像docker images记住这个Image ID下面我们启动容器须要用到它。假设看到以上输出说明您能够使用“oursuer/ubuntu”这个镜像了或将其称为仓库(Repository)。该镜像有一个名为“14.04”的标签(Tag)此外另一个名为1f879014f4d2 的镜像 ID(可能您所示镜像 ID 与此处的不一致那是正常现象由于这个数字是随机生成的)。此外我们能够看到该镜像仅仅有188.4 MB很小巧而不像虚拟机的镜像文件那样庞大。如今镜像已经有了我们下面就须要使用该镜像来启动容器。2、启动容器容器是在镜像的基础上来执行的一旦容器启动了我们就能够登录到容器中安装自己所需的软件或应用程序。既然镜像已经下载到本地。那么怎样才干启动容器呢仅仅需使用下面命令就可以启动容器docker run -i -t -v /download/:/mnt/software/ 1f879014f4d2 /bin/bash这条命令比較长。我们略微分解一下事实上包括下面三个部分docker run 假设看到以上输出。说明您能够使用“docker.cn/docker/centos”这个镜像了或将其称为仓库(Repository)该镜像有一个名为“centos6”的标签(Tag)此外另一个名为“25c5298b1a36 ”的镜像 ID(可能您所示镜像 ID 与此处的不一致那是正常现象。由于这个数字是随机生成的)。此外我们能够看到该镜像仅仅有 215.8 MB很小巧而不像虚拟机的镜像文件那样庞大。如今镜像已经有了。我们下面就须要使用该镜像来启动容器。当中。相关參数包括-i表示以“交互模式”执行容器-t表示容器启动后会进入其命令行-v表示须要将本地哪个文件夹挂载到容器中格式-v :假设我们的全部安装程序都放在了宿主机的/download/文件夹下如今须要将其挂载到容器的/mnt/software/文件夹下。须要说明的是不一定要使用“镜像 ID”。也能够使用“仓库名:标签名”。比如oursuer/ubuntu:14.04。初始命令表示一旦容器启动。须要执行的命令此时使用“/bin/bash”表示什么也不做仅仅需进入命令行就可以。退出容器使用Ctrld或输入exit假设退出容器后能够再次使用命令(注意得先执行docker run之后然后被stop掉的容器才干够使用例如以下命令)docker start 容器ID当中容器ID。使用命令docker ps -a来看。例如以下然后再次启动已启动过但如今是关闭的容器docker start sick_mestorf这个命令仅仅会启动容器不会进入容器。要进入容器得用命令docker attach 容器ID或容器名例如以下二、安装相关软件首先先将JDK和tomcat的安装包.gz文件放在外面的/download文件夹下然后再次启动容器。进入容器然后看看是否有安装包。发现两个都在了下面能够安装了1、安装JDK直接使用cd /usrmkdir javacd javamkdir jdkcd /mnt/software/tar zxvf jdk-8u65-linux-x64.gz -C /usr/java/jdk这里直接接文件解压到/usr/java/jdk文件夹。例如以下配置环境变量输入vi /etc/profile或加入例如以下内容#set java environmentexport JAVA_HOME/usr/java/jdk/jdk1.8.0_65export JRE_HOME/usr/java/jdk/jdk1.8.0_65/jreexport CLASSPATH.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH注意此处改成相应的jdk的文件夹而且要以root用户来做改动否则无法保存保存后执行source /etc/profile验证安装输入:java -version假设出现例如以下内容说明成功安装2、tomcat安装直接解压cd /usr/javamkdir tomcattar zxvf -C /usr/java/tomcat配置环境进入到上面的tomcat的bin文件夹下打开vi setclasspath.sh或gedit setclasspath.sh加入例如以下内容export JAVA_HOME/usr/java/jdk/jdk1.8.0_65export JRE_HOME/usr/java/jdk/jdk1.8.0_65/jre保存就可以。然后退回到bin文件夹下执行./startup.sh说明tomcat启动成功或者使用例如以下命令查看三、配置容器启动环境变量(上面的JDK配置环境变量能够不要可是这里的一定要写。由于这里是设置容器启动时载入的环境变量)1、环境变量设置首先编辑.bashrc文件vi ~/.bashrc然后在该文件末尾加入例如以下配置export JAVA_HOME/usr/java/jdk/jdk1.8.0_65export JRE_HOME/usr/java/jdk/jdk1.8.0_65/jreexport CLASSPATH.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH最后。须要使用source命令。让环境变量生效source ~/.bashrc2、编写执行脚本我们须要编写一个执行脚本当启动容器时执行该脚本启动 Tomcat详细步骤例如以下首先创建执行脚本vi /root/run.sh然后编辑脚本内容例如以下#!/bin/bashsource ~/.bashrcsh /usr/java/tomcat/apache-tomcat-7.0.68/bin/catalina.sh run注意这里必须先载入环境变量然后使用 Tomcat 的执行脚本来启动 Tomcat 服务。最后为执行脚本加入执行权限chmod ux /root/run.sh3、退出容器当以上步骤全部完毕后可使用exit或ctrld命令退出容器。随后可使用例如以下命令查看正在执行的容器docker ps此时您应该看不到不论什么正在执行的程序。由于刚才已经使用exit命令退出的容器此时容器处于停止状态可使用例如以下命令查看全部容器docker ps -a输出例如以下内容记住以上CONTAINER ID(容器 ID)随后我们将通过该容器创建一个可执行 Java Web 的镜像。四、创建 Java Web 镜像使用下面命令依据某个“容器 ID”来创建一个新的“镜像”docker commit 89a47b5b749e lin_javaweb:0.1该容器的 ID 是“89a47b5b749e”所创建的镜像名是“lin_javaweb:0.1”。随后可使用镜像来启动 Java Web 容器。这是创建成功后相同能够查看下镜像五、启动 Java Web 容器有必要首先使用docker images命令查看当前全部的镜像可见。此时已经看到了最新创建的镜像“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/或者http://localhost:58080/注意这里使用的是宿主机的 IP 地址与对外暴露的端口号 58080它映射容器内部的端口号 8080。