使用dockerfile构建javaweb环境(jdk8+tomcat8)

Docker 构建镜像的方法主要两种 

1.docker commit

2.docker build命令+dockerfile 文件 (比较灵活,常用)

以下为构建dockerfile 常用的指令

指令 说明

-----------------------------------------------------------------------------

FROM  设置镜像使用的基础镜像

MAINTAINER 设置镜像的作者

RUN        编译镜像时,运行的脚本

CMD        设置容器的启动命令

LABEL      设置镜像的标签

EXPOSE      设置镜像的暴露端口

ENV        设置容器的环境变量

ADD        编译镜像时,复制文件到镜像中

COPY        编译镜像时,复制文件到镜像中

ENTRYPOINT  设置容器的入口程序

VOLUME      设置容器的挂载卷

USER        设置容器RUN,CMD和ENTRYPOINT的用户名

WORKDIR    设置RUN,CMD,ENTRYPOINT,COPY和ADD指令的工作目录

ARG        设置编译镜像时候加入的参数

ONBUILD    设置镜像ONBUILD指令

STOPSIGNAL  设置容器退出的信号量

----------------------------------------------------------------------------

下面开始安装tomcat8 + jdk8

#yum 安装docker

sudo yum install -y docker

#启动docker 服务

sudo serice docker start 

#设置docker开机自启动

systemctl enable docker

1.下载centos镜像,以这个系统为基石,开始创作

docker pull centos

2.下载jdk,tomcat安装包,上传至 /usr/local/soft,并且解压

  jdk1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  tomcat8 https://tomcat.apache.org/download-80.cgi

  //或者 使用wget安装,如果没有安装wget 则用 yum install -y wget 安装一哈

  wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

  wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz

    mkdir /usr/local/soft

    cd /user/local/soft

解压tomcat

tar -zxvf apache-tomcat-8.5.38.tar.gz

解压jdk

tar -zxvf jdk-8u141-linux-x64.tar.gz

删除安装包

rm -rf apache-tomcat-8.5.38.tar.gz

rm -rf jdk-8u141-linux-x64.tar.gz

3.创建Dockerfile文件

touch Dockerfile

创建完成之后,目录如下

=========================================

/usr/local/soft

+apache-tomcat-8.5.38

+jdk1.8.0_141

+Dockerfile   

=========================================

4.编辑dockerfile文件

--------------------------------------------------------------------------------------

#指定操作镜像

FROM centos

#维护者信息

#MAINTAINER shiva's gurad

#设定时区

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN echo 'Asia/Shanghai' >/etc/timezone

#执行命令:创建容器内部目录

RUN mkdir -p /usr/local/soft

#将jdk1.8.0_141添加到镜像centos的/usr/local/soft/目录下,并命名为jdk

ADD jdk1.8.0_141 /usr/local/soft/jdk

#将apache-tomcat-8.5.38添加到镜像centos的/usr/local/soft/目录下,并命名为tomcat

ADD apache-tomcat-8.5.38 /usr/local/soft/tomcat

#添加环境变量

ENV JAVA_HOME /usr/local/soft/jdk

ENV CATALINA_HOME /usr/local/soft/tomcat

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

#暴露8080端口

EXPOSE 8080

#启动时运行tomcat

CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"]

-----------------------------------------------------------------------------

5.构建Dockerfile镜像

docker build -t repostory/centos_tomcat8_jdk8 .

(这里的点,代表使用当前工作目录的Dockerfile 也就是 /usr/local/soft 底下的Dockerfile)

6.启动镜像,生成容器

docker run -d -p 8080:8080 --name tomcat  repostory/centos_tomcat8_jdk8

-d 后台运行 

-p 端口映射  宿主机port : 容器port

--name 指定容器运行名称

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。