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。

java jdk 下载镜像,Docker之JDK镜像相关推荐

  1. docker hub上镜像手动下载_docker: docker安装和镜像下载

    1安装docker的apt源 apt-get install apt-transport-https ca-certificates curl software-properties-common 2 ...

  2. java windows 下载_Windows环境下JDK的下载与安装

    1.首先检查一下本机是否有安装java.按win+R,在弹出窗口中输入cmd,按回车打开控制台   在控制台中输入 java 并按回车,如果显示"'java' 不是内部或外部命令,也不是可运 ...

  3. 【Java面试题】docker拉取镜像

    一面(个人感觉回答得还不错) 1. 自我介绍 2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) 2.1 对于自己产于过项目的系统定位是 ...

  4. linux创建空镜像,Docker创建base镜像

    本着学习得态度,想了解创建基础的Docker镜像的方法,于是在Docker的官网上找到了说明,现翻译如下: 首先,创建base image是与所需创建的linux发行版有关的,不同发行版是差异的. 下 ...

  5. java学习+JDK下载安装环境配置+IDEA安装下载简单使用

    JAVA学习1 写在前边的一些闲话: 首先就是编写java代码时该大写的没大写,以前没养成好习惯QAQ,大家不要学我,偷偷笑话我就好辽QAQ 我也是一边学一边更新,当做给自己的笔记,也希望能帮到需要的 ...

  6. docker配置国内镜像源下载镜像

    1 docker配置163镜像 vi /etc/docker/daemon.json(Linux) {"registry-mirrors": ["http://hub-m ...

  7. Docker安装及镜像配置(常用命令介绍)

    一.安装Docker 官网 https://docs.docker.com/engine/install/centos/ # 1.卸载旧的版本 yum remove docker \docker-cl ...

  8. Docker——Dockerfile(构建自己的CentOS镜像和Tomcat镜像)并打包镜像发布上线

    Dockerfile(构建自己的CentOS镜像和Tomcat镜像)并打包镜像发布上线 Dockerfile概述 Dockerfile构建过程 Dockerfile指令说明 实战:构建自己的CentO ...

  9. docker安装+配置镜像+命令操作+数据卷+网络管理+DockerFile+镜像服务+项目部署+[高级使用]

    文章目录 Docker基础 一.Docker介绍 1. 什么是虚拟化 2. 什么是Docker 3. 容器与虚拟机比较 4. Docker优势 5. Docker架构 [1]镜像服务(`Image`) ...

最新文章

  1. 算法复习——bitset(bzoj3687简单题)
  2. python连接MySQL并进行数据查询
  3. ECMAScript 和 JavaScript 的未来
  4. 给定没有重复数字的序列,将其全排列
  5. Word2vec加TextRank算法生成文章摘要
  6. nohup.out文件过大的解决办法
  7. STEP7 MicroWIN SMART 下载程序到CPU的具体步骤详解(图文)
  8. LitJson使用范例
  9. Android Hook框架adbi的分析(3)---编译和inline Hook实践
  10. 获取字符串中 图片路径
  11. 删除页码和从第三页开始有页码
  12. CPU飙高原因及解决方案
  13. 一个人的职业生涯之旅 —— 应届生求职、面试、Offer、跳槽(发展瓶颈、薪资倒挂、职业倦怠、骑驴找马、简历优化)问题分享
  14. 数据错误循环冗余检查是什么意思_德尔西曼.交换机是一种什么设备?通过什么方式进行交换?...
  15. 【渝粤教育】广东开放大学 质量认证认可 形成性考核 (31)
  16. 浪潮之巅第一章 — 帝国的余辉(ATT)
  17. 诺奖得主 朱棣文 哈佛大学毕业演讲:生命太短暂,你必须对某样东西倾注你的深情!
  18. ACL的rule中的deny/permit在各个业务模块里的场景是怎样的
  19. STOP!运营小程序,不知道这4种方法,是不可能实现小程序裂变的
  20. mov ah,4ch int 21的作用

热门文章

  1. Fabarta 正式加入大数据技术标准推进委员会,共同推动大数据技术标准化进程
  2. 软考高级系统架构设计师系列论文六十四:论软件测试方法和工具的选用
  3. 关于“任务管理器被管理员禁用”的解决方案
  4. 经典检验各种数据格式的正则表达式
  5. 阿里云——学生成长计划领取资格考试
  6. ARM64架构题目答案
  7. Linux服务器网卡信息获取以及带宽测试
  8. 『人脸识别系列教程』1·目录与概述
  9. IT学习小册子地址收藏
  10. 高中计算机教师教案模板,高一数学教学设计模板