在oreder中创建了一个Docker文件,以便将Tomcat服务器从Unix安装为bashe os。
我的Dockerfile:
FROM ubuntu
RUN apt-get update && apt-get upgrade -y #to update os
RUN apt-get dist-upgrade
RUN apt-get install build-essential
RUN apt-get install openjdk-8-jdk # to install java 8
RUN apt-get wget -y #to install wget package
RUN apt-get wget https://mirrors.estointernet.in/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz #to download tomcat
RUN tar -xvzf apache-tomcat-9.0.37 # unzipping the tomcat
RUN mkdir tomcat # craeting tomacat directory
RUN cp apache-tomcat-9.0.37/* tomcat # copying tomact files to tomact directory命令从Docker文件创建Docker图像:
docker build -t [img name] -f [file name] .
在执行过程中,当安装java包时,如下所示:“‘’‘在此操作之后,将使用242 MB的额外磁盘空间。你想继续吗?Y/n Y‘
发布于 2020-07-27 16:45:47
您正在获得提示符,因为该命令正在等待用户输入是否安装包。您所使用的一些-y标志(如wget)允许bash假设为yes。将此标志添加到所有安装命令中。
顺便说一句,您发布的Dockerfile有很多潜在的问题。
例如,您有RUN apt-get wget ...
您确定这是您想要做的,而不仅仅是RUN wget ...吗?除非wget是apt-get接受的命令但事实并非如此,否则它将导致意外的行为。
您似乎还缺少启动Tomcat服务器的命令,这会使其在尝试运行映像时不会发生任何事情。
发布于 2020-07-27 16:50:13
我认为在运行DEBIAN_FRONTEND=noninteractive命令时应该添加apt-get,如下所示:
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install build-essential -y此外,使用可以合并为一个的多个RUN步骤被认为是错误的做法。有关Dockerfile最佳实践的更多信息可以找到这里。
https://stackoverflow.com/questions/63119602
复制相似问题