Docker通过搭建java和tomcat环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yhflyl/article/details/84108274
搜索镜像
docker search mysql
查看本地镜像
docker images
拉取镜像
docker pull mysql:5.6
创建镜像
使用Dockerfile文件创建自己的镜像
通过Dockerfile构建自己的镜像

首先现在下载jdk1.8和tomcat8的文件,解压(tar -zxvf 文件名)
创建一个空目录将jdk和tomcat放进去,在创建一个Dockerfile文件。

# 指定操作的镜像
FROM centos:7
# 维护者的信息
MAINTAINER molong
# 执行的命令
RUN mkdir -p /usr/local/
ADD jdk /usr/local/jdk
ADD tomcat /usr/local/tomcat

# 添加环境变量
ENV JAVA_HOME /usr/local/jdk
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin

# 暴露8080端口
EXPOSE 8080

# 启动时运行tomcat
ENTRYPOINT /usr/local/tomcat/bin/startup.sh && tail -f /dev/null
build镜像
docker build -t javaweb:1.0 .
运行docker镜像
docker run --name myweb -p 8081:8080 -d javaweb:1.0
进入容器内部
docker exec -it 容器ID /bin/bash
查看容器执行日志
docker logs 容器ID
关于Docker的最后CMD或者ENTRYPOINT执行命令后容器自动结束运行,网上解决方案我看了有两种
  1. 使用& ,后台执行
  2. 使用&& tail -f /dev/null

我尝试后,只有tail -f /dev/null 的这个方法才能成功!

ps: 吐槽下,好多CSDN这类博客的Dockerfile文件都没有加 tail -f /dev/null ,也不知道在执行docker ps 如何看到运行的容器,可能我水平不够啊,哈哈!

猜你喜欢

转载自blog.csdn.net/yhflyl/article/details/84108274