比 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 ...
随机推荐
- 复杂SQL案例:用户授权渠道查询
供参考: SELECT r.course_id 课程id, r.user_id 用户ID, u.user_full_name 姓名, u.province_name 省名, u.city_name 城 ...
- JAVA获取当前日期指定月份后(多少个月后)的日期
环境要求:使用jdk1.8 package com.date; import java.text.ParseException; import java.text.SimpleDateFormat; ...
- 【九度OJ】题目1018:统计同成绩学生人数 解题报告
[九度OJ]题目1018:统计同成绩学生人数 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1018 题目描述: ...
- 【九度OJ】题目1080:进制转换 解题报告
[九度OJ]题目1080:进制转换 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1080 题目描述: 将M进制的数X转换为 ...
- 【LeetCode】853. Car Fleet 解题报告(Python)
[LeetCode]853. Car Fleet 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxu ...
- Harry Potter and the Hide Story(hdu3988)
Harry Potter and the Hide Story Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 ...
- 倍福CX5120嵌入式控制器使用教程
1.新建工程 新建TwinCAT XAE Project 2.连接设备 点击SYSTEM,再点击"Change Target..." 在弹出的"choose Targt ...
- 使用.NET 6开发TodoList应用(13)——实现查询分页
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 查询中有个非常常见的需求就是后端分页,实现的方式也不算复杂,所以我们本文仅仅演示一个后端查询分页的例子. 目标 实现分页查询返 ...
- MySQL高级查询与编程笔记 • 【目录】
章节 内容 实践练习 MySQL高级查询与编程作业目录(作业笔记) 第1章 MySQL高级查询与编程笔记 • [第1章 数据库设计原理与实战] 第2章 MySQL高级查询与编程笔记 • [第2章 数据 ...
- Python学习笔记:利用pd.get_dummies实现哑变量编码
一.理论介绍 虚拟变量(dummy variable)也叫哑变量,是一种将多分类变量转换为二分变量的一种形式. 如果多分类变量有k个类别,则可以转化为k-1个二分变量. 需要有一个参照的类别. 在非线 ...