Docker搭建Java Web开发环境


1.Docker安装

1.1. 宿主环境

选用Ubuntu 14.04(64位)作为宿主操作系统,做一下环境检查:

1)  查看当前linux内核:

Linux内核为3.13,是Docker当前推荐的UbuntuPrecise版本。

2)  查看APT系统是否支持https:

APT系统支持https。

1.2. 安装Docekr

1. 将Docker仓库密钥添加到本地密钥链。

2. 添加Docker仓库到APT源清单,更新和安装lxc-docker包

使用sudo apt-get update更新软件包,然后开始安装

2.Java web环境配置

2.1. Docker容器创建

创建基于Ubuntu 14.04镜像的容器,并挂载主机/opt/software目录作为容器的数据卷。

sudo docker run –i –t –v /opt/software:/opt/software ubuntu:14.04 /bin/bash

-i:建立交互性连接,占用容器的标准输出

-t:在容器中建立一个伪终端或者终端。

-v:将主机的目录或者文件挂载为容器数据卷或者在容器中增加数据卷

进入bash shell终端,进行接下来的jdk和tomcat的安装工作。

2.2. JDK安装

下载JDK到主机路径/opt/software下,由于主机目录/opt/software挂载到了容器的数据卷。则可以在容器中使用该主机目录下的文件。

以下操作都在容器内完成:

1. 安装JDK,在/opt目录下安装

tar xzvf software/jdk-8u40-linux-x64.tar.gz –C .

2. 配置环境变量

用vim编辑.bashrc文件

vi ~/.bashrc

然后,添加一下JDK环境变量到.bashrc

#JAVA environment variable

export JAVA_HOME=/opt/jdk1.8.0_40

export JRE_HOME=${JAVA_HOME}/jre

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

export PATH=${JAVA_HOME}/bin:$PATH

3. 重启后,检验JDK配置是否成功

java –version

如果返回JDK版本号,则表示配置正确;否则,可能配置失败。

2.3. Tomcat 安装

下载Tomcat到主机路径/opt/software下,由于主机目录/opt/software挂载到了容器的数据卷。则可以在容器中使用该主机目录下的文件。

以下操作在容器中完成:

1. 安装Tomcat,安装在/opt目录下

tar xzvf software/apache-tomcat-8.0.20.tar.gz –C .

2. 配置Tomcat

用vim编辑Tomcat的启动脚本,配置系统JDK环境变量。

vi apache-tomcat-8.0.20/bin/startup.sh

然后添加JDK环境变量,TOMCAT环境变量。

JAVA_HOME=/opt/jdk1.8.0_40

JRE_HOME=${JAVA_HOME}/jre

CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

PATH=${JAVA_HOME}/bin:$PATH

TOMCAT_HOME=/opt/apache-tomcat-8.0.20

2.4. 创建Tomcat启动脚本

在容器根目录/ 下创建run.sh,编辑文本内容如下:

#!/bin/bash

source ~/.bashrc

sh opt/apache-tomcat-8.0.20/bin/catalina.sh run

添加apache-tomcat-8.0.20/bin/setclasspath.sh中JDK环境变量:

# JAVA environment

export JAVA_HOME=/opt/jdk1.8.0_40

export JRE_HOME=${JAVA_HOME}/jre

2.5. 创建image

查看运行的容器名称:

docker ps -a

将显示关闭和正在运行的所有容器,查询到容器的名字是drunk_rosalind。

基于安装了JDK和tomcat的Ubuntu容器创建镜像:

docker commit –m “Added JDK Tomcat” –a “zrg” drunk_rosalind ubuntu/javaweb:v1

查看主机上的image:

docker images

主机上的所有image都会显示出来。

2.6. 创建容器,映射主机端口号

基于创建的视图,采用守护进程模式启动容器,将容器8080端口映射到主机58080端口。

docker run -d -p 58080:8080 --name webapp1 javaweb/webapp:v1 /run.sh

主要选择主机的49153到65535之间的端口。

查看运行的容器:

docker ps -a

可以看容器运行了29分钟,容器的8080端口映射主机的58080端口:

b861a02c5cb8  javaweb/webapp:v1 "/run.sh"     29 minutes agoUp 29 minutes         0.0.0.0:58080->8080/tcp  webapp1

3.浏览器访问

在容器的主机上访问:

localhost:58080

通过网络访问:使用ifconfig查看容器主机的IP

Ubuntu 15.04下安装Docker   

配置 Docker 镜像下载的本地 mirror 服务   

Docker安装应用(CentOS 6.5_x64)  

在 Docker 中使用 MySQL  

在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker  

Docker安装应用(CentOS 6.5_x64)  

Ubuntu 14.04安装Docker   

阿里云CentOS 6.5 模板上安装 Docker  

在Ubuntu 14.04安装和使用Docker 

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

本文永久更新链接地址

相关内容