通过基础镜像 centos:7
,在该镜像中安装 jdk 和 tomcat 以后将其制作为一个新的镜像 mscentos:7
创建目录
mkdir -p /kong/docker/dockerfile
编写 Dockerfile 文件
vim Dockerfile
Dockerfile 文件内容如下:
# 指明构建的新镜像是来自于 centos:7 基础镜像
FROM centos:7
# 通过镜像标签声明了作者信息
LABEL maintainer="kong.com"
# 设置工作目录
WORKDIR /usr/local
# 新镜像构建成功以后创建指定目录
RUN mkdir -p /usr/local/java && mkdir -p /usr/local/tomcat
# 拷贝文件到镜像中并解压
ADD jdk-11.0.8_linux-x64_bin.tar.gz /usr/local/java
ADD apache-tomcat-9.0.59.tar.gz /usr/local/tomcat
# 暴露容器运行时的 8888监听端口给外部
EXPOSE 8888
# 设置容器内 JAVA_HOME 环境变量
ENV JAVA_HOME /usr/local/java/jdk-11.0.8/
ENV PATH $PATH:$JAVA_HOME/bin
# 启动容器时启动 tomcat
CMD ["/usr/local/tomcat/apache-tomcat-9.0.59/bin/catalina.sh", "run"]
上传jdk和tomcat到Dockerfile一样的目录下
构建镜像
docker build -f /usr/local/dockerfile/Dockerfile -t mscentos:7
使用构建的镜像创建容器
# 创建容器
docker run -di --name mscentos7 -p 8888:8080 mscentos:7
# 访问 http://ip:8888/ 看到页面说明环境 OK!