Jac*_*ack 3 tomcat docker dockerfile
我是码头工的新手,如果我错过了一些明显的东西,那就很抱歉
我对Dockerfile的计划.
我已经设法通过手动运行这些命令来完成此操作.
docker run -it --rm -p 8888:8080 tomcat:8.0
然后手动执行wget
和重命名,虽然我希望这一切都在docker文件中完成.
这是我到目前为止所做的.
FROM tomcat:7.0
RUN /bin/bash -c "cd /usr/local/tomcat/webapps"
RUN /bin/bash -c "wget -O files.zip https://***"
RUN /bin/bash -c "unzip files.zip"
RUN /bin/bash -c "rm -r ROOT"
RUN /bin/bash -c "wget -O ROOT.war https://***"
Run Code Online (Sandbox Code Playgroud)
虽然我不确定如何从之前运行docker line
docker run -it --rm -p 8888:8080 tomcat:8.0
我已经采取了该行从官网上的Tomcat 这里.我注意到他们提到了这一点,Run the default Tomcat server (CMD ["catalina.sh", "run"]):
但我不知道如何实现这一点.
Dockerfile的作用是创建一个图像而不是一个容器.
当你这样做时docker build -t <tagname> .
,如果你跑,你会看到结果(标记)docker images
.
然后,您可以运行该图像以创建容器.
您还可以在中指定CMD
要运行(默认情况下)Dockerfile
.那就是(我认为)
CMD [ "catalina.sh", "run" ]
Run Code Online (Sandbox Code Playgroud)
所以:
docker build -t my_tomcat_app .
docker run -d -p 8888:8080 --name my_tomcat_container my_tomcat_app
Run Code Online (Sandbox Code Playgroud)
这将从您的图像创建一个容器,并运行任何说明CMD
.你可以在里面偷看docker exec
docker exec -it my_tomcat_container bash
Run Code Online (Sandbox Code Playgroud)
但它会保持运行(因为-d
旗帜)并出现在docker ps
.
归档时间: |
|
查看次数: |
8713 次 |
最近记录: |