Docker学习-Dockerfile定制Tomcat镜像
一、Dockerfile定制Tomcat镜像
1.镜像制作和测试启动
1.准备镜像文件、tomcat压缩包、jdk的压缩包
[root@iZuf60iq1x5h6s5apkzxd3Z tomcat]# ll
total 151860
-rw-r--r-- 1 root root 10561246 Jul 15 13:53 apache-tomcat-8.5.69.tar.gz
-rw-r--r-- 1 root root 144935989 Jul 15 11:44 jdk-8u291-linux-x64.tar.gz
2.编写dockerfile文件,官方命名
Dockerfile
,build会自动寻找这个文件,就不需要-f
指定了~
FROM centos
MAINTAINER jiangzhuo<15801892254@163.com>
ADD jdk-8u291-linux-x64.tar.gz /usr/local
ADD apache-tomcat-8.5.69.tar.gz /usr/local
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME $MYPATH/jdk1.8.0_291
ENV CLASS_PATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME $MYPATH/apache-tomcat-8.5.69
ENV CATALINA_BASH $MYPATH/apache-tomcat-8.5.69
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD $MYPATH/apache-tomcat-8.5.69/bin/startup.sh && tail -F $MYPATH/apache-tomcat-8.5.69/logs/catalina.out
3.构建镜像
$ sudo docker build -f Dockerfile -t mytomcat .
4.启动镜像容器
$ sudo docker run -it -p 58080:8080 --name tomcat-test \
-v /data/tomcat/webapps:/usr/local/apache-tomcat-8.5.69/webapps \
-v /data/tomcat/log:/usr/local/apache-tomcat-8.5.69/logs tomcat
5.发布项目并访问测试
$ sudo curl localhost:58080
2.发布自己的镜像到DockerHub
1.登录DockerHub
$ sudo docker login -u 用户名 -p 密码
2.提交镜像
docker push 镜像名:TAG
$ sudo docker push jiangzhuo/mytomcat:1.0
3.修改镜像的TAG
$ sudo docker tag 镜像id 新镜像名:TAG
3.发布到阿里云镜像上
# 1.登录阿里云
# 2.新建命名空间
# 3.新建仓库
# 4.登录并提交镜像
$ docker login --username=[账号名称] registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/jiangzhuo/jiangzhuo-test:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/jiangzhuo/jiangzhuo-test:[镜像版本号]