• Docker Java 例子


    版权所有,未经许可,禁止转载


    章节


    正如我们前面提到的,docker可以执行任何应用程序。

    我们将创建一个Java应用程序,并使用docker运行它。

    1. 创建项目目录

    我们会把这个项目的相关文件,集中放到一个目录docker-java

    [root@qikegu demo]# mkdir docker-java
    

    2. 创建Java文件

    docker-java目录下,创建一个Java文件:

    Qikegu.java

    
    class Qikegu{
        public static void main(String[] args){
            System.out.println("This is java docker app - qikegu.com 
    ");
        }
    }
    
    

    3. 创建Dockerfile

    创建Java文件之后,我们需要创建一个Dockerfile,其中包含了Docker的指令。在docker-java目录下创建Dockerfile,文件名必须是Dockerfile

    Dockerfile

    FROM java:8
    COPY . /var/www/java
    WORKDIR /var/www/java
    RUN javac Qikegu.java
    CMD ["java", "Qikegu"]
    

    所有指令都大写,这是惯例。

    现在docker-java目录下有2个文件:

    [root@qikegu docker-java]# ls
    Dockerfile  Qikegu.java
    

    4. 构建 Docker 镜像

    切换到docker-java目录,运行docker build -t qikegu-java .命令,构建Docker镜像。Docker镜像可以任意取名,此处命名为qikegu-java

    
    [root@qikegu docker-java]# docker build -t qikegu-java .
    Sending build context to Docker daemon  3.072kB
    Step 1/5 : FROM java:8
     ---> d23bdf5b1b1b
    Step 2/5 : COPY . /var/www/java
     ---> Using cache
     ---> 7f24b5fc6fb6
    Step 3/5 : WORKDIR /var/www/java
     ---> Using cache
     ---> 2eacd7222454
    Step 4/5 : RUN javac Qikegu.java
     ---> Using cache
     ---> bf254a2eec11
    Step 5/5 : CMD ["java", "Qikegu"]
     ---> Using cache
     ---> 1842ec92df2d
    Successfully built 1842ec92df2d
    Successfully tagged qikegu-java:latest
    [root@qikegu docker-java]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    qikegu-java         latest              1842ec92df2d        13 minutes ago      643MB
    <none>              <none>              327ab0702d14        14 minutes ago      643MB
    ...
    

    这里,最后使用docker images查看镜像,可以看到构建镜像成功。接下来就可以运行镜像了。

    5. 运行 Docker 镜像

    执行docker run qikegu-java命令运行镜像:

    [root@qikegu docker-java]# docker run qikegu-java
    This is java docker app - qikegu.com
    
    [root@qikegu docker-java]#
     
    

    可以看到,qikegu-java镜像成功运行,输出了一条信息。

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    剑指offer-栈的压入、弹出序列
    剑指offer-包含min函数的栈
    图-Dijkster最短路径
    剑指offer-顺时针打印矩阵
    二叉树的镜像
    剑指offer-树的子结构
  • 原文地址:https://www.cnblogs.com/jinbuqi/p/11227386.html
Copyright © 2020-2023  润新知