比 WSL2 更香的是 Docker for windows!

HiIT青年發表於2022-01-23

今天給大家推薦一個軟體 —— "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文章。

相關文章