比 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 ...
随机推荐
- SpringCloud(三) Zuul
Zuul 有了eureka . feign 和 hystrix 后,基本上就搭建了简易版的分布式项目,但仍存在一些问题,比如: 1.如果我们的微服务中有很多个独立服务都要对外提供服务,那么我们要如何去 ...
- 【九度OJ】题目1113:二叉树 解题报告
[九度OJ]题目1113:二叉树 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1113 题目描述: 如上所示,由正整数1,2,3-- ...
- 【LeetCode】174. Dungeon Game 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 日期 题目地址:https://leetc ...
- 【LeetCode】34. Find First and Last Position of Element in Sorted Array 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 二分查找 日期 题目地址:https://leetc ...
- 【LeetCode】781. Rabbits in Forest 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】147. Insertion Sort List 解题报告(Python)
[LeetCode]147. Insertion Sort List 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: h ...
- 基于CA认证(结合文档在线预览)的电子签章解决方案
分享一个基于CA认证(结合文档在线预览)的电子签章实现思路,恰巧是最近项目中遇到的,欢迎大家一起讨论. 一. 项目背景 在公司业务系统中,按照传统的签章方式,存在以下痛点: 1.成本高,体现在纸质合同 ...
- Windows服务注册(需要指定config文件的情况下)
最近,遇到一个问题:需要将telegraf在Win平台下注册为windows服务(避免误操作关闭CMD窗口): 尝试了网上的几种注册Windows服务的方法,发现无法将telegraf这种需要在CMD ...
- Windows Server 2016 服务器安装IIS
1. 打开服务器管理器,点击[添加角色和功能选项] 2.进入[添加角色和功能向导]页面,点击"下一步" 3.安装类型选择[基于角色或基于功能的安装],点击"下一步&q ...
- 【操作系统】I/O多路复用 select poll epoll
@ 目录 I/O模式 I/O多路复用 select poll epoll 事件触发模式 I/O模式 阻塞I/O 非阻塞I/O I/O多路复用 信号驱动I/O 异步I/O I/O多路复用 I/O 多路复 ...