比 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文章。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM