Dockerfie ENV 设置环境变量的问题

这事dockerfile 里面 add 命令需要的资源

wget https://download.java.net/openjdk/jdk8u40/ri/openjdk-8u40-b25-linux-x64-10_feb_2015.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
wget http://download.redis.io/releases/redis-4.0.0.tar.gz
# bash images
FROM centos

# 
MAINTAINER fwq

# 基础环境依赖
RUN yum install -y gcc tcl && yum imstall -y make

# 添加jdk
ADD openjdk-8u40-b25-linux-x64-10_feb_2015.tar.gz /home/centos/docker/db/
# 添加tomcat
ADD apache-tomcat-8.5.32.tar.gz /home/centos/docker/db/
# 添加redis
ADD redis-4.0.0.tar.gz /home/centos/docker/db/

# 。。。
RUN /bin/sh -c 'cd redis-4.0.0/  && make && cd src  && mkdir /home/centos/docker/db/usr  && cp redis-server /home/centos/docker/db/usr/redis-server  && cp /home/centos/docker/db/redis-4.0.0/redis.conf /home/centos/docker/db/usr/redis.conf'

# 设置环境变量
ENV JAVA_HOME /home/centos/docker/db/java-se-8u40-ri
ENV JRE_HOME /home/centos/docker/db/java-se-8u40-ri/jre
ENV CATALINA_HOME /home/centos/docker/db/apache-tomcat-8.5.32
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

# 暴露端口
EXPOSE 8080
EXPOSE 6379
EXPOSE 8000
EXPOSE 80

# 启动命令
CMD ["/home/centos/docker/db/apache-tomcat-8.5.32/bin/catalina.sh","run"]
CMD ["/home/centos/docker/db/usr/redis-server","run"]

Dockerfile 内容如上
可以正常创建镜像 和容器 ENV 设置的环境变量没有起作用 不知道哪里错了。

阅读 7k
1 个回答
新手上路,请多包涵

可以将环境变量放到 /etc/profile 文件里面就可以生效了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题