IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

Docker之JDK镜像

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

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。

文章永久链接:https://tech.souyunku.com/?p=43409


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(65) 打赏



未经允许不得转载:搜云库技术团队 » Docker之JDK镜像

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367