Docker篇-tomcat

一.前言

1.什么是docker?

Docker 是一个开源的应用容器引擎,用go语言写的,基于 Linux 内核的一款产品。

2.docker有什么用?

屏蔽操作系统,独立于系统之外,只需要关注于应用层面,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。其实也可以简单理解为单一应用多实例。

docker有三个概念:

  • 镜像:Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像就相当于Java语言里的类(Class)
  • 容器:容器其实就是进程(打开一个应用程序),只不过这个进程是应用在基础层(镜像)之上。容器就相当于Java语言里的根据类创建一个对象。
  • 仓库:仓库顾名思义就是用来存储镜像,分发镜像的一个地方。它可以让我们开发者在不同的环境保持一样系统参数或者环境配置。

想更清楚Docker可以去参考官网的文章:前言 · Docker -- 从入门到实践

二.操作流程

1.docker pull tomcat:拉取tomcat镜像

2.docker run --name tomcat1 -p 8080:8080 tomcat:创建tomcat容器

我们也可以在Docker Desktop看到这个tomcat的镜像 

3.docker ps:查看创建的容器,可以看到我们建了两个不同端口的tomcat 

Docker Desktop点击Containers也是可以查看容器的

 4.docker exec -it 173cf2dd080f /bin/bash: (绿色是cantainerId)进入应用程序的目录,找到conf下的server.xml文件进行端口配置,因为tomcat默认端口号8080,开启了两个应用但是端口号都是8080,所以需要修改其中一个端口

修改文件用的是vim指令,需要去下载vim,可以参考下面这篇文章:

Docker容器里的vi/vim命令安装_junmxiao-js的博客-CSDN博客

5.因为webapps是存放web项目的,但是新建的tomcat容器原本的webapps是空文件,可以ls去查看,webapps.dist里面才有默认的web项目,所以需要重命名 

cd ../                                       回到根目录下

rm -rf webapps                       将webapps目录删除

mv webapps.dist webapps     将webapps.dist重命名为webapps

       

最后我们可以看到成功实现了单应用开多实例的情况,在宿主机我们必须单应用拷贝多个文件目录才可以实现这种情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来为您讲解一下如何制作一个基于 DockerTomcat 镜像。 首先,您需要准备一个 Dockerfile 文件,内容如下: ```Dockerfile # 指定基础镜像 FROM openjdk:8-jre-alpine # 设置时区为上海 RUN apk add --no-cache tzdata && \ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo "Asia/Shanghai" > /etc/timezone && \ apk del tzdata # 下载并解压 Tomcat ENV TOMCAT_MAJOR=8 \ TOMCAT_VERSION=8.5.61 RUN wget -O /tmp/apache-tomcat.tar.gz https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz && \ tar -xzf /tmp/apache-tomcat.tar.gz -C /opt && \ ln -s /opt/apache-tomcat-${TOMCAT_VERSION} /opt/tomcat && \ rm /tmp/apache-tomcat.tar.gz # 设置环境变量 ENV CATALINA_HOME /opt/tomcat # 添加 Tomcat 用户 RUN addgroup -S tomcat && \ adduser -S -G tomcat -s /bin/false -h ${CATALINA_HOME} tomcat && \ chown -R tomcat:tomcat ${CATALINA_HOME} # 暴露 Tomcat 端口 EXPOSE 8080 # 启动 Tomcat CMD ["${CATALINA_HOME}/bin/catalina.sh", "run"] ``` 然后,您可以执行以下命令来构建并运行容器: ```bash # 构建镜像 docker build -t my-tomcat . # 运行容器 docker run -it --rm -p 8080:8080 my-tomcat ``` 这样就可以在本地的 8080 端口访问 Tomcat 了。如果您需要将镜像上传到 Docker Hub 或其他 Docker 镜像仓库,可以执行以下命令: ```bash # 登录 Docker Hub docker login # 标记镜像 docker tag my-tomcat <your-docker-id>/my-tomcat # 推送镜像 docker push <your-docker-id>/my-tomcat ``` 希望这回答能够帮助到您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值