比 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有两种选择:
- WSL2:启用Windows的Linux子系统
- 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文章。

比 WSL2 更香的是 Docker for windows!的更多相关文章
- 初识Docker和Windows Server容器
概览 伴随着Windows Server 2016 Technical Preview 3 (TP3)版本的发布,微软首次提供了Windows平台下地原生容器.它集成了Docker对Windows S ...
- Docker for Windows 使用入门
欢迎来到Docker for Windows! Docker是用于创建Docker应用程序的完整开发平台,Docker for Windows是在Windows系统上开始使用Docker的最佳方式. ...
- Windows 10 安装 Docker for Windows
Docker for Windows是Docker社区版(CE)应用程序. Docker for Windows安装包包括在Windows系统上运行Docker所需的一切. 本主题介绍了预安装注意事项 ...
- Docker for Windows 中文文档(3)——Docker Settings
Docker设置 Docker运行时,显示Docker鲸鱼. 默认情况下,Docker鲸鱼图标被放置在“通知”区域中. 如果隐藏,单击任务栏上的向上箭头显示. 提示:您可以将鲸鱼固定在通知框外面,使其 ...
- Docker for Windows(一)下载与安装
一.下载Docker for Windows 下载地址:Docker for Windows 下载完是一个安装程序,双击运行即可.注:如果您的系统不符合运行Docker for Windows的要求, ...
- 开启和安装Kubernetes 基于Docker For Windows
0.最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上是有Bug的,建议切换到Edge版本,并且采用下文AliyunContainerServi ...
- 开启和安装Kubernetes k8s 基于Docker For Windows
0.最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上是有Bug的,建议切换到Edge版本,并且采用下文AliyunContainerServi ...
- Kubernetes k8s 基于Docker For Windows
开启和安装Kubernetes k8s 基于Docker For Windows 0.最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上 ...
- Docker for Windows使用简介
在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Windows的使用. 先决条件 前两周时间,Do ...
随机推荐
- IDEA控制台中文显示乱码处理
加入 -Dfile.encoding=UTF-8 以及
- JAVA判断是否是微信内置浏览器,是否是在微信内打开
/** * 通过请求头判断是否是微信内置浏览器,是否是在微信内打开 * @param request * @return */ @RequestMapping(value = "/hello ...
- LeetCode Top 100 Liked 点赞最高的 100 道算法题
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:刷题顺序,刷题路径,好题,top100,怎么刷题,Leet ...
- 【LeetCode】34. Find First and Last Position of Element in Sorted Array 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 二分查找 日期 题目地址:https://leetc ...
- 【LeetCode】707. Design Linked List 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Laravel 使用 maatwebsite/Excel 3.1 实现导入导出的简单方法
官方文档 https://docs.laravel-excel.com/3.1/getting-started git地址 https://github.com/maatwebsite/Laravel ...
- SMOOTHING (LOWPASS) SPATIAL FILTERS
目录 FILTERS Box Filter Kernels Lowpass Gaussian Filter Kernels Order-Statistic (Nonlinear) Filters Go ...
- BBN+
目录 motivation settings results motivation 观测用BBN的模式训练出来的模型, 配上不同的\(\alpha\), 结果会如何. settings Attribu ...
- ZFNet: Visualizing and Understanding Convolutional Networks
目录 论文结构 反卷积 ZFnet的创新点主要是在信号的"恢复"上面,什么样的输入会导致类似的输出,通过这个我们可以了解神经元对输入的敏感程度,比如这个神经元对图片的某一个位置很敏 ...
- Android物联网应用程序开发(智慧城市)—— 用户注册界面开发
效果: 布局代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns: ...