基于docker制作Tomcat镜像
Posted 小侠猪猪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于docker制作Tomcat镜像相关的知识,希望对你有一定的参考价值。
一、安装docker
1、安装依赖环境
[root@jenkins ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
2、准备镜像源
[root@jenkins ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
3、安装docker-ce
[root@jenkins ~]# yum -y install docker-ce
4.启动docker
[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
[root@docker ~]# docker version #查看docker版本
[root@docker ~]# docker version #查看docker版本
[root@docker tomcat]# iptables -F
二、配置环境
[root@localhost ~]# hostname docker
[root@localhost ~]# bash
[root@localhost ~]# bash
[root@docker tomcat]# systemctl stop firewalld
[root@docker tomcat]# setenforce 0
三、构建镜像
1、首先建一个目录构建我们的环境。
[root@docker ~]# mkdir tomcat
[root@docker ~]# cd tomcat/
[root@docker ~]# cd tomcat/
2、上传 tomcat 和 jdk 到该目录下。
[root@docker tomcat]# ls
apache-tomcat-8.5.40.tar.gz jdk-8u191-linux-x64.tar.gz
apache-tomcat-8.5.40.tar.gz jdk-8u191-linux-x64.tar.gz
3、编辑 Dockerfile
[root@docker tomcat]# vim Dockerfile
FROM centos:7
MAINTAINER from crushlinux <crushlinux@163.com>
MAINTAINER from crushlinux <crushlinux@163.com>
#copy jdk and tomcat into image
ADD ./apache-tomcat-8.5.40.tar.gz /root
ADD ./jdk-8u191-linux-x64.tar.gz /root
ADD ./apache-tomcat-8.5.40.tar.gz /root
ADD ./jdk-8u191-linux-x64.tar.gz /root
#set environment variable
ENV JAVA_HOME /root/jdk1.8.0_191
ENV PATH $JAVA_HOME/bin:$PATH
ENV PATH $JAVA_HOME/bin:$PATH
#define entry point which will be run first when the container starts up
ENTRYPOINT /root/apache-tomcat-8.5.40/bin/startup.sh && tail -F /root/apache-
tomcat-8.5.40/logs/catalina.out
ENTRYPOINT /root/apache-tomcat-8.5.40/bin/startup.sh && tail -F /root/apache-
tomcat-8.5.40/logs/catalina.out
4、构建镜像
[root@docker tomcat]# docker build -t crushlinux/tomcat:centos .
-t 选择指定生成镜像的用户名,仓库名和 tag
--rm=true 指定在生成镜像过程中删除中间产生的临时容器。
5、查看新产生的镜像
[root@docker tomcat]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
crushlinux/tomcat centos 5d715fc6dd64 16 minutes ago 613MB
REPOSITORY TAG IMAGE ID CREATED SIZE
crushlinux/tomcat centos 5d715fc6dd64 16 minutes ago 613MB
6、运行镜像
[root@docker tomcat]# docker run -d -p 8090:8080 crushlinux/tomcat:centos
[root@docker tomcat]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
59724a2cdaea crushlinux/tomcat:centos "/bin/sh -c \'/root/a…" 13 minutes ago Up 13 minutes 0.0.0.0:8090->8080/tcp zealous_tharp
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
59724a2cdaea crushlinux/tomcat:centos "/bin/sh -c \'/root/a…" 13 minutes ago Up 13 minutes 0.0.0.0:8090->8080/tcp zealous_tharp
-p 指定主机 80 端口与容器 8080 端口进行绑定
-d 指定容器运行后与当前 tty 分离,后台运行
65a0 是镜像的 ID 前 4 位。
通过 http://宿主机 IP:8090,即可看见我们熟悉的 tomcat 首页了。
以上是关于基于docker制作Tomcat镜像的主要内容,如果未能解决你的问题,请参考以下文章
基于docker镜像centos:7 镜像制作自定义的centos及tomcat/php/nginx镜像