java jdk 下载镜像,Docker之JDK镜像

1 创建并运行JDK容器

#下载Java镜像

docker pull java

#查看镜像

docker images

#创建并启动容器

docker run -d -it --name java java

run 使用镜像创建一个容器

-d 容器运行于后台

-i 以交互模式运行容器

-t 为容器重新分配一个伪输入终端,通常与-i同时使用

--name 给容器起个名字,方便容器管理

#查看运行中的容器

docker ps

#查看容器(包括不运行的容器)

docker ps -a

#启动一个容器

docker start java

#登录容器,使用attach

docker attach java

#登录容器,使用exec

docker exec -it java /bin/bash

#停止容器

docker stop java

复制代码

2 登录容器的三种方式

2.1 ssh方式

登录容器,使用ssh

不推荐这样做,容器需启动sshd,存在开销和攻击面增大的问题违反Dockers倡导的一个容器一个进程的原则

2.2 attach命令

docker attach java

2.3 exec命令

docker exec -it java /bin/bash

2.4 attach与exec的区别

attach阻塞式的,如果多个终端同时attach到同一个容器时,所有容器都会同步的显示,如果一个窗口发生阻塞其它窗口也会阻塞

通过attach登录容器后如果从空上容器中exit(Ctrl + D)退出的话,这个容器也会停止,使用Ctrl + P + Q方式退出不会导致容器停止运行了

3 JDK镜像的作用

作为基础镜像或运行时环境

3.1 作为基础镜像

Main.java

public class Main{

public static void main(String[] args){

System.out.println("Hello Main!");

}

}

复制代码

编写dockerfile(文件名为dockerfile):

FROM java:7

COPY . /usr/src/myapp

WORKDIR /usr/src/myapp

RUN javac Main.java

复制代码此镜像会编译当前目录下的Main.java

构建镜像

docker build -t my-java-app .

复制代码

运行容器

docker run -it --rm --name my-running-app my-java-app

--rm Automatically remove the container when it exits

复制代码

3.2 作为运行时环境

docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java

-w, --workdir string Working directory inside the container

复制代码

上述操作会把当前目录作为卷添加到容器中,并把卷设置为工作目录,然后运行命令javac Main.java,这会告诉Java编译Main.java,并将Java类文件输出到Main.class。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值