docker属于java应用吗_Docker Java应用程序

在这里,创建一个Java应用程序并使用docker进行运行。此示例分以下几个步骤完成。

创建一个目录

目录是组织文件所必需的,所以首先使用以下命令创建目录一个目录。

$ mkdir -p /home/yiibai/docker/java-docker-app

Shell

创建一个Java文件

现在创建一个Java文件,将此文件保存为Hello.java。这个 Hello.java 的代码内容如下 -

class Hello{

public static void main(String[] args){

System.out.println("This is first java app \n by using Docker");

}

}

Java

将其保存在文件Hello.java中,并放置在 /home/yiibai/docker/java-docker-app 目录下。

创建一个Dockerfile文件

创建Java文件后,还需要创建一个Dockerfile文件,其中包含了Docker的说明。 Dockerfile不包含任何文件扩展名。 所以这个文件简单使用Dockerfile作为名称保存即可。此 Dockerfile 文件的内容如下 -

FROM java:8

COPY . /var/www/java

WORKDIR /var/www/java

RUN javac Hello.java

CMD ["java", "Hello"]

Shell

所有指令要使用大写字母编写,因为这是它的惯例(约定)。将此文件放在/home/yiibai/docker/java-docker-app目录中。 现在将Dockerfile也放置在在/home/yiibai/docker/java-docker-app目录中,与Hello.java放在同一个目录。

如下 -

yiibai@ubuntu:~/docker/java-docker-app$ ll

total 16

-rw-rw-r-- 1 yiibai yiibai 104 Jun 2 23:33 Dockerfile

-rw-rw-r-- 1 yiibai yiibai 135 Jun 2 23:33 Hello.java

yiibai@ubuntu:~/docker/java-docker-app$

Shell

构建Docker映像

创建Dockerfile后,需要更改工作目录。

$ cd /home/yiibai/docker/java-docker-app

Shell

现在,按照以下命令创建一个映像。这里必须以root身份登录才能创建映像。 在这个例子中,我们已经切换为root用户的身份。 在以下命令中,java-app是的映像名称。当然Docker的映像名称可以是任意的。

yiibai@ubuntu:~/docker/java-docker-app$ -rw-rw-r-- 1 yiibai yiibai 135 Jun 2 23:33 Hello.java

-rw-rw-r--: command not found

yiibai@ubuntu:~/docker/java-docker-app$

yiibai@ubuntu:~/docker/java-docker-app$

yiibai@ubuntu:~/docker/java-docker-app$

yiibai@ubuntu:~/docker/java-docker-app$ docker build -t java-app .

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.29/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=java-app&target=&ulimits=null: dial unix /var/run/docker.sock: connect: permission denied

yiibai@ubuntu:~/docker/java-docker-app$ sudo docker build -t java-app .

[sudo] password for yiibai:

Sending build context to Docker daemon 3.072kB

Step 1/5 : FROM java:8

8: Pulling from library/java

5040bd298390: Pull complete

fce5728aad85: Pull complete

76610ec20bf5: Pull complete

60170fec2151: Pull complete

e98f73de8f0d: Pull complete

11f7af24ed9c: Pull complete

49e2d6393f32: Pull complete

bb9cdec9c7f3: Pull complete

Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

Status: Downloaded newer image for java:8

---> d23bdf5b1b1b

Step 2/5 : COPY . /var/www/java

---> f7bd63fd32bf

Removing intermediate container 39420a84d3eb

Step 3/5 : WORKDIR /var/www/java

---> 5006feada9ef

Removing intermediate container 85c71c02d8c7

Step 4/5 : RUN javac Hello.java

---> Running in 6027643fedc0

---> 3b54e4630178

Removing intermediate container 6027643fedc0

Step 5/5 : CMD java Hello

---> Running in 22da1569aa2c

---> bd61e7f49911

Removing intermediate container 22da1569aa2c

Successfully built bd61e7f49911

Successfully tagged java-app:latest

yiibai@ubuntu:~/docker/java-docker-app$

Shell

如果未安装Java 8,那么会自动下载Java 8安装再执行。在成功构建映像后。 现在,我们可以运行Docker映像了。

运行Docker映像

成功创建映像后 现在可以使用run命令运行docker。以下命令用于运行java-app。

yiibai@ubuntu:~/docker/java-docker-app$ sudo docker run java-app

Shell

上面命令的运行输出结果如下 -

yiibai@ubuntu:~/docker/java-docker-app$ sudo docker run java-app

This is first java app

by using Docker

yiibai@ubuntu:~/docker/java-docker-app$

Shell

在这里可以看到,在运行sudo docker run java-app之后,它产生了一个输出。

在经过上5个步骤之后,您应该已经可在系统上成功运行docker映像了。除了所有这些以外,还可以在接下来的文章中学习和使用其他命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值