新手的我在使用docker制作tomcat镜像时遇到环境变量问题

本文讲述了作者在使用Docker构建Tomcat镜像时遇到的环境变量JAVA_HOME问题。通过分析,发现当使用`docker run`命令的`command`参数时,`.bashrc`中的环境变量配置无效。解决方案是在`startup.sh`中添加`source ~/.bashrc`,或者使用Dockerfile的`ENV`指令来设置环境变量,确保环境变量在容器启动时生效。强调了使用Dockerfile构建镜像的正确性和重要性。
摘要由CSDN通过智能技术生成

先说一下我的操作流程。

作为一个linux小白+docker小白,我瑟瑟发抖的跟着百度上的教程一步一步的开始搞,步骤如下:

首先下载jdk和tomcat的压缩包(.tar.gz文件),到本机的/root/software下。

1.拉取一个centos的镜像

    docker pull centos:7.2.1511

2.把镜像容器化,run起来,并以交互模式进入容器内,同时把本地目录/root/software挂载到容器内的/mnt/software下,为了把jdk和tomcat的安装包搞到容器内,毕竟现在容器里面是空的,只有一个centos。端口映射顺便弄一下,后面要测试一下tomcat。

    docker run -i -t  -p 8080:8080 -v /root/software/:/mnt/software/ {镜像的id} /bin/bash

3.安装jdk,就是把压缩包解开,然后配置环境变量

  解压

    tar -zxf /mnt/software/jdk1.7.0_79.tar.gz -C .

    mv jdk1.7.0_79/ /opt/jdk/

  配置环境变量

    编辑~/.bashrc文件

<

好的,我来为您讲解一下如何制作一个基于 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、付费专栏及课程。

余额充值