• 比 WSL2 更香的是 Docker for windows!


    今天给大家推荐一个软件 —— "Docker for windows":

    如果你对WSL2,还不熟悉,可以关注公众号或小程序看看我之前推送过的两篇文章。

    Docker for windows

    虽然WSL2提供了Windows的Linux子系统,但是它是一个独立的终端运行,类似Windows的Cmd窗口:

    当你在开发程序没有双屏的时候,非常不方便,所以,推荐大家在启用WSL2之后,再安装一下Docker for windows,这样你就可以在自己的IDEA上完成所有操作,不用切屏了。

    在安装Docker for windwos之后,可以在Cmd上直接使用Docker的相关命令,不用再运行WSL2,然后在上面运行Docker,非常方便:

    在Cmd可以运行Docker相关指令,那就是相当于可以像在Linux系统上执行任何指令一样,为所欲为。

    很多软件都自带终端,比如VsCode、IDEA、Eclipse等都有响应的终端,以IDEA为例,当可以在Cmd上运行Docker指令后,一个IDEA就可以让你完成开发、部署等操作:

    安装 Docker for windows

    Docker for windows 安装和其他软件安装是一样的,但是有个前提,就是电脑必须启用虚拟化功能,在Windows没有推出WSL2之前,你可能需要借助VBox或者专业版Windows的Hyper-V,但是有了WSL2之后,可以不用安装任何虚拟机(如VBox)。

    Docker需要虚拟化支持,在不安装虚拟机的前提下WSL2有两种选择:

    1. WSL2:启用Windows的Linux子系统
    2. Hyper-V:专业版Windows自带的虚拟机

    另外有一点很重要,就是Win10版本必须高于build 19041+。

    这里以WLS2为例,说一下Docker for windows的安装流程,首先需要在Windows的程序与功能中启用Windows的Linux子系统和虚拟机功能平台:

    然后下载Docker for windwos软件,下载地址:

    https://www.docker.com/products/docker-desktop
    

    下载后,在安装的时候,勾选安装WSL2需要的组件:

    默认Docker for windows的安装位置为:

    C:\Program Files\Docker
    

    成功安装后,你将看到下面这样的界面:

    运行 Docker 容器

    成功安装Docker for windows后,电脑右下角的系统托盘中会有一个“鲸鱼装着集装箱”的图标,你可以通过它打开Docker的管理界面。

    你可以在命令行中运行Docker的Hello World程序来测试软件是否成功安装:

    docker run -d -p 80:80 docker/getting-started
    

    成功运行后,在软件管理界面可以看到如下界面:

    打开浏览器访问 http://localhost 就可以访问新手教程了:

    IDEA 连接 Docker for windows

    要让IDEA能成功连接Docker进程,需要打开Docker 2375端口,开放远程访问,在设置里面,勾选:

    Expose deamon on tcp://localhost:2375 without TLS
    

    IDEA 安装 Docker 插件:

    然后创建Docker连接:

    这样就可以在IDEA管理Docker容器和镜像了:

    Docker + IDEA 开发到发布一步到位

    这里以Vert.x的Hello World程序为例,采用jib-maven-plugin来构建本地镜像,Vert.x的程序可以从下面的地址直接下载:

    https://start.vertx.io/
    

    下载完成后,在MainVerticle中新增入口main函数:

      public static void main(String[] args) {
        Vertx vertx = Vertx.vertx();
        vertx.deployVerticle(new MainVerticle());
      }
    

    配置jib-maven-plugin插件:

    <plugin>
      <groupId>com.google.cloud.tools</groupId>
      <artifactId>jib-maven-plugin</artifactId>
      <version>3.2.0</version>
      <configuration>
        <from>
          <image>java:openjdk-8-jdk-alpine</image>
        </from>
          <image>${project.groupId}-${project.artifactId}:${project.version}</image>
        </to>
        <container>
          <mainClass>${main.verticle}</mainClass>
        </container>
      </configuration>
    </plugin>
    

    构建本地镜像:

    mvn compile jib:dockerBuild
    

    构建完成后,Docker里面就会多一个镜像:

    右键镜像,创建对应的容器,配置如下:

    然后点击“run”,程序就可以跑起来了,也可以通过Attached Console来看程序的打印日志:

    访问http://localhost:8888测试程序:


    彩蛋:关注公众号、或小程序,阅读更多IT文章。

  • 相关阅读:
    Remove Element
    String StringBuffer StringBuilder
    Length of Last Word
    Space Replacement
    Longest Palindromic Substring
    jQuery2.0.0版本以后不再支持ie8的原因
    npm命令
    不借助第三个变量实现两个变量交换及原理分析
    js 不同进制之间相互转换
    ECMAScript toString() 方法
  • 原文地址:https://www.cnblogs.com/itqn/p/15835172.html
Copyright © 2020-2023  润新知