docker打包运行简易demo

简介

万事开头难,开了头再深入就不难了。
安装docker、下载镜像、运行起来这些步骤有许多文章。本文主要记录如何把自己的可执行程序打包成docker。

文件

仅三个文件:Dockerfile、Hello.class、Hello.java
放置于自定义的/home/gg/docker目录下

Hello

Hello.java

public class Hello {
       public static void main(String[] args) {
              System.out.println("我的第一个Java程序:Hello World。");
       }
}

生成 Hello.class

javac Hello.java

java环境

docker pull java:8-jre-alpine
docker images

下载好后

REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
java                 8-jre-alpine        fdc893b19a14        3 years ago         108MB

Dockerfile

#java镜像
FROM java:8-jre-alpine
#工作目录
WORKDIR /home/gg/docker
#Hello的路径 添加到容器
ADD ./Hello.class Hello.class
#启动命令,空格隔开
ENTRYPOINT ["java", "Hello", ">", "spring.log", "&"] 

构建镜像

docker build -t hello/areyouok .
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
hello/areyouok       latest              2028b24fb832        5 minutes ago       108MB
java                 8-jre-alpine        fdc893b19a14        3 years ago         108MB

运行镜像

docker run hello/areyouok
我的第一个Java程序:Hello World。

删除镜像

docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED              STATUS                          PORTS                    NAMES
d4abf9cfc359        hello/areyouok          "java Hello > spring…"   About a minute ago   Exited (0) About a minute ago                            cocky_noether
docker rm d4abf9cfc359
docker rmi 2028b24fb832

总结

  1. 你得有一个非docker的可执行程序
  2. 你清楚启动程序的命令,写到Dockerfile中
  3. 你需要安装启动程序所需的命令
  4. 通过docker运行起来,和直接运行,没有表象上的区别
发布了25 篇原创文章 · 获赞 1 · 访问量 3879

猜你喜欢

转载自blog.csdn.net/a215095167/article/details/105043366