dockerfile相關(4):docker常用基礎映象——java映象
1. java映象
使用Java映象的最直接方法是把它作為基礎映象或執行時環境。
1.1 映象tag
java:<version>
如果你不確定你需要什麼,那麼請用這個tag。它可以作為一個執行時環境,裝載你的原始碼,並啟動你的應用程式容器;也可以作為基礎映象,用於構建應用映象。
常用tag有:
- 6b38-jdk, 6b38, 6-jdk, 6, openjdk-6b38-jdk, openjdk-6b38, openjdk-6-jdk, openjdk-6
- 6b38-jre, 6-jre, openjdk-6b38-jre, openjdk-6-jre
- 7u111-jdk, 7u111, 7-jdk, 7, openjdk-7u111-jdk, openjdk-7u111, openjdk-7-jdk, openjdk-7
- 7u121-jdk-alpine, 7u121-alpine, 7-jdk-alpine, 7-alpine, openjdk-7u121-jdk-alpine, openjdk-7u121-alpine, openjdk-7-jdk-alpine, openjdk-7-alpine
- 7u111-jre, 7-jre, openjdk-7u111-jre, openjdk-7-jre
- 7u121-jre-alpine, 7-jre-alpine, openjdk-7u121-jre-alpine, openjdk-7-jre-alpine
- 8u111-jdk, 8u111, 8-jdk, 8, jdk, latest, openjdk-8u111-jdk, openjdk-8u111, openjdk-8-jdk, openjdk-8
- 8u111-jdk-alpine, 8u111-alpine, 8-jdk-alpine, 8-alpine, jdk-alpine, alpine, openjdk-8u111-jdk-alpine, openjdk-8u111-alpine, openjdk-8-jdk-alpine, openjdk-8-alpine
- 8u111-jre, 8-jre, jre, openjdk-8u111-jre, openjdk-8-jre
- 8u111-jre-alpine, 8-jre-alpine, jre-alpine, openjdk-8u111-jre-alpine, openjdk-8-jre-alpine
- 9-b149-jdk, 9-b149, 9-jdk, 9, openjdk-9-b149-jdk, openjdk-9-b149, openjdk-9-jdk, openjdk-9
- 9-b149-jre, 9-jre, openjdk-9-b149-jre, openjdk-9-jre
如果要求最終的應用映象儘可能的小,你應該使用alpine。使用alpine作為基礎映象,然後你可以在Dockerfile中新增想要的東西,詳見如何在alpine中安裝軟體包。
java:alpine
1.2 java映象作為基礎映象
如果你希望獨立構建應用映象,首先,編寫dockerfile:
FROM java:7
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]
然後,構建應用映象
$ docker build -t my-java-app .
最後,執行應用容器
$ docker run -it --rm --name my-running-app my-java-app
1.3 java映象作為執行時環境
如果你希望直接在容器中執行你的程式碼,在CMD執行以下命令:
$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java
上述操作會把當前目錄作為卷新增到容器中,並把卷設定為工作目錄,然後執行命令javac Main.java
,這會告訴Java編譯Main.java,並將Java類檔案輸出到Main.class。
相關文章
- Docker映象中提取DockerfileDocker
- Docker--DockerFile與映象Docker
- Docker映象的構成__DockerfileDocker
- 用dockerfile構建docker映象Docker
- Docker 映象構建之 DockerfileDocker
- 5-Docker映象相關命令Docker
- Docker_03 映象-基礎操作Docker
- [Docker 系列]docker 學習 四,映象相關原理Docker
- 【Docker 系列】docker 學習 四,映象相關原理Docker
- 用Dockerfile製作一個java應用映象,ubuntu基礎篇DockerJavaUbuntu
- Docker如何製作映象-Dockerfile的使用Docker
- Dockerfile建立映象Docker
- Docker 入門系列四:Dockerfile-映象原理Docker
- Docker框架使用系列教程(七)Dockerfile映象建立Docker框架
- Docker - 02 建立映象 Dockerfile 指令速查表Docker
- Docker容器學習梳理 - Dockerfile構建映象Docker
- 如何編寫 Dockerfile 檔案建立 Docker 映象Docker
- Docker 基礎-映象&容器&網路&儲存Docker
- Docker | Docker技術基礎梳理(二) - 映象管理Docker
- Docker 基礎 : DockerfileDocker
- [Dockerfile構建映象]Docker
- DockerFile構建映象Docker
- Dockerfile定製映象Docker
- docker學習4:Docker 映象使用Docker
- Docker 入門系列四:Dockerfile-映象製作Docker
- 關於Docker加速映象Docker
- 『現學現忘』Docker基礎 — 25、Docker映象講解Docker
- JDK17用什麼docker基礎映象?JDKDocker
- Docker基礎:查詢映象和執行容器Docker
- Python的最佳Docker基礎映象(2020年4月)PythonDocker
- Dockerfile映象的製作Docker
- dockerfile映象設定中文Docker
- 使用 Dockerfile 定製映象Docker
- 使用Dockerfile定製映象Docker
- 使用Dockerfile建立帶Apache服務的Centos Docker映象DockerApacheCentOS
- docker學習(常用命令,映象燒錄,定製映象)Docker
- docker 映象Docker
- docker筆記17-Dockerfile案例-自定義tomcat映象Docker筆記Tomcat