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。
java jdk 下载镜像,Docker之JDK镜像相关推荐
- docker hub上镜像手动下载_docker: docker安装和镜像下载
1安装docker的apt源 apt-get install apt-transport-https ca-certificates curl software-properties-common 2 ...
- java windows 下载_Windows环境下JDK的下载与安装
1.首先检查一下本机是否有安装java.按win+R,在弹出窗口中输入cmd,按回车打开控制台 在控制台中输入 java 并按回车,如果显示"'java' 不是内部或外部命令,也不是可运 ...
- 【Java面试题】docker拉取镜像
一面(个人感觉回答得还不错) 1. 自我介绍 2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) 2.1 对于自己产于过项目的系统定位是 ...
- linux创建空镜像,Docker创建base镜像
本着学习得态度,想了解创建基础的Docker镜像的方法,于是在Docker的官网上找到了说明,现翻译如下: 首先,创建base image是与所需创建的linux发行版有关的,不同发行版是差异的. 下 ...
- java学习+JDK下载安装环境配置+IDEA安装下载简单使用
JAVA学习1 写在前边的一些闲话: 首先就是编写java代码时该大写的没大写,以前没养成好习惯QAQ,大家不要学我,偷偷笑话我就好辽QAQ 我也是一边学一边更新,当做给自己的笔记,也希望能帮到需要的 ...
- docker配置国内镜像源下载镜像
1 docker配置163镜像 vi /etc/docker/daemon.json(Linux) {"registry-mirrors": ["http://hub-m ...
- Docker安装及镜像配置(常用命令介绍)
一.安装Docker 官网 https://docs.docker.com/engine/install/centos/ # 1.卸载旧的版本 yum remove docker \docker-cl ...
- Docker——Dockerfile(构建自己的CentOS镜像和Tomcat镜像)并打包镜像发布上线
Dockerfile(构建自己的CentOS镜像和Tomcat镜像)并打包镜像发布上线 Dockerfile概述 Dockerfile构建过程 Dockerfile指令说明 实战:构建自己的CentO ...
- docker安装+配置镜像+命令操作+数据卷+网络管理+DockerFile+镜像服务+项目部署+[高级使用]
文章目录 Docker基础 一.Docker介绍 1. 什么是虚拟化 2. 什么是Docker 3. 容器与虚拟机比较 4. Docker优势 5. Docker架构 [1]镜像服务(`Image`) ...
最新文章
- 算法复习——bitset(bzoj3687简单题)
- python连接MySQL并进行数据查询
- ECMAScript 和 JavaScript 的未来
- 给定没有重复数字的序列,将其全排列
- Word2vec加TextRank算法生成文章摘要
- nohup.out文件过大的解决办法
- STEP7 MicroWIN SMART 下载程序到CPU的具体步骤详解(图文)
- LitJson使用范例
- Android Hook框架adbi的分析(3)---编译和inline Hook实践
- 获取字符串中 图片路径
- 删除页码和从第三页开始有页码
- CPU飙高原因及解决方案
- 一个人的职业生涯之旅 —— 应届生求职、面试、Offer、跳槽(发展瓶颈、薪资倒挂、职业倦怠、骑驴找马、简历优化)问题分享
- 数据错误循环冗余检查是什么意思_德尔西曼.交换机是一种什么设备?通过什么方式进行交换?...
- 【渝粤教育】广东开放大学 质量认证认可 形成性考核 (31)
- 浪潮之巅第一章 — 帝国的余辉(ATT)
- 诺奖得主 朱棣文 哈佛大学毕业演讲:生命太短暂,你必须对某样东西倾注你的深情!
- ACL的rule中的deny/permit在各个业务模块里的场景是怎样的
- STOP!运营小程序,不知道这4种方法,是不可能实现小程序裂变的
- mov ah,4ch int 21的作用