PS:redhat和centos都可以,我都试过
首先我们需要装一个docker
1. 检查内核版本,必须是3.10及以上的
uname -r
2. 安装docker(使用yum命令安装需要在有网的情况下)
yum install docker
输入y确认安装
3. 启动docker
systemctl start docker
4. 查看docker版本
docker -v
5. 设置开机启动docker
systemctl enable docker
6. 停止docker(只是贴出来告诉你如何停止docker不需要你每一步都跟着做)
systemctl stop docker
在docker中装tomcat
ps:有两种方式,第一种我们使用官方提供的tomcat镜像,第二种的话需要我们先制作一个tomcat镜像
首先我们使用官方提供的镜像来装tomcat
1. 查看镜像的版本
docker search tomcat
2. 拉取镜像
docker pull tomcat:8.5
ps:不加版本号会默认拉取最新版本的,我这边使用的是8.5
3. 查看pull下来的镜像
docker images
4. 根据镜像启动容器
docker run --name mytomcat -d tomcat:latest
ps: --name是给我们的容器起一个名字,-d是后台运行,tomcat:latest是我们tomcat的名字加版本,
这样启动会带来一个问题就是外部访问不到,我们需要在启动时做一个端口映射
5. 查看运行中的容器
docker ps
ps: docker ps -a 是查看所有的容器,包括运行中的与没有在运行的
6. 停止运行中的容器
docker stop 容器id
ps: stop后面加的是你的容器id,停止后需要启动容器把stop换成start即可
7. 删除一个容器
docker rm -f 容器id
ps: 最后面是容器id,把rm -f换成rmi便是删除镜像,镜像id跟容器id不是一样的需要自己查看
8. 启动一个做了端口映射的tomcat
docker run -d -p 8888:8080 --name demo1 mytomcat
ps: 启动成功 ip:8888 访问即可
9. 部署war包到tomcat中
docker cp myweb.war 容器id:/usr/tomcat/webapps
10. cp进去后重启docker容器
docker restart 容器id
11. 进入docker容器内部
docker exec -it 容器id bash
12. 进入容器内部后可以查看一下tomcat启动日志,启动成功后可直接访问
ip:端口号 加你自己的项目名以及路径
使用Dockerfile制作一个tomcat镜像
准备好一个linux版本的jdk和tomcat
1. 新建一个Dockerfile
touch Dockerfile
ps:jdk tomcat Dockerfile都放在同一级目录下
2. pull一个基础镜像,我这边使用的是centos7作为我的基础镜像
docker pull centos
3. vim Dockerfile 进入和添加如下内容
FROM 1e1148e4cc2c
MAINTAINER shenhang
ENV REFRESHED_AT 2018-12-24
#切换镜像目录,进入/usr目录
WORKDIR /usr
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat
#将宿主机的jdk目录下的文件拷贝到镜像的/usr/jdk目录下
ADD jdk1.8.0_191 /usr/jdk/
#将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下
ADD apache-tomcat-8.0.12 /usr/tomcat/
#设置环境变量
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH
#公开端口
EXPOSE 8080
#设置启动命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]
ps: 需要注意的几个地方
(1). FROM后面放的是基础镜像的id,请改成你自己的
(2). 两个ADD后面分别添加的是自己的jdk和tomcat,请改成自己的名字
(3). MAINTAINER 后面写的是作者名,ENV REFRESHED_AT 后面是最后更新时间这些改不改都没关系
4. 构建镜像
docker build -t jamtur01/tomcat .
ps:请cp完整,不要忽略最后面有个点,成功的话会提示 Successfully built 加镜像id....
5. 查看创建成功的镜像
docker images
6. 其它的基础命令上面都有
docker镜像打包,导入到其它服务器如下
1. 导出docker镜像
docker save -o /root/tomcat.tar.gz jamtur01/tomcat
ps: 导出镜像名为jamtur01/tomcat的镜像到/root下并且名为tomcat的压缩包
2. 可以使用ftp把导出的镜像拉到本地然后再上传到另外一台服务器
3. 导入镜像,把自制的镜像导入到新的docker
docker load < tomcat.tar.gz
ps:然后直接正常启动就可以用了