微服务是最响亮的IT流行语之一,每个人都急于尝试。 但是Linux
和MacOS
用户免费获得的Windows
并不是那么容易。 本指南显示了如何设置Windows
环境以运行Docker
容器,作为微服务架构项目的基础。
词汇表
- GIT-SCM – 用于Windows的Git项目,包含
git
,bash
和其他Linux
工具 - 环境变量 –
Windows
环境变量,假定通过“ 控制面板”进行管理
实际上,用于Windows
Docker Toolbox
包含用于运行Docker
容器的所有内容,因为它与GIT-SCM项目捆绑在一起。 不幸的是,默认安装没有几个缺点
- 即使已经安装了较新的版本,也无法跳过捆绑的GIT SCM安装
- 没有用于更改GIT SCM目的地的选项
- Сommand线工具未添加到
PATH
环境变量中 - 与原始GIT-SCM安装程序不同,无法配置其他
git
参数
为了克服这些问题并获得更好的环境灵活性,我将在本指南中以更长的方式进行说明,其中所有必需的软件将从单独的捆绑软件中安装。
遵循旧习惯,我倾向于避免安装计划从命令行使用到
C:\Program Files\
文件夹的工具。 相反,我使用的是c:\opt
,d:\usr
等,即文件夹名称不带空格。 本指南将重点介绍计划将软件安装在不同于C:\Program Files\
文件夹中的步骤。
设置MSYS2
MSYS2
是GIT-SCM的基础项目,它具有优于GIT-SCM的优势,
优势超过
单片机
- 更面向命令行,不仅限于
git
使用 - 符号链接支持
- 内置的软件包管理器
pacman
,从Arch Linux
发行版移植而来- 可以安装
MSYS2
分发版中未包含的任意工具 - 从命令行升级
MSYS2
核心的可能性
- 可以安装
安装步骤
- 从https://msys2.github.io/运行安装程序,并按照说明进行操作
- 使用
d:\opt\msys
作为目标文件夹 - 安装完成后,将
d:\opt\msys\usr\bin
到PATH
环境变量中
默认情况下, MSYS2
使用自己的目录作为用户主目录,因此, C:\Users\
您的主目录将位于d:\opt\msys\home
文件夹中。 通过将环境变量HOME
设置为首选值,可以覆盖此行为。
设置Docker工具箱
安装步骤
- 从https://www.docker.com/docker-toolbox运行
Windows
安装程序并按照说明进行操作 - 使用
d:\opt\docker
作为目标文件夹 - 安装完成后,请通过控制面板卸载GIT SCM ,我们将使用
MSYS2
安装的MSYS2
设置控制台
MSYS2
提供了运行bash
可能性,但是一旦您运行许多控制台,您就会开始迷失在那些浮动窗口中。 ConEmu
抢先一步,为bash
shell提供了舒适的选项卡式界面以及其他功能,这些功能可改善命令行体验并在Windows上更好地集成。
- 从https://conemu.github.io/运行安装程序,并按照说明进行操作,可以使用Alpha版本
- 创建用于运行
bash
控制台的ConEmu
任务,并在程序启动时运行它
- 在单个
ConEmu
窗口中创建新的控制台
- 与
Windows
Shell集成,环境变量CHERE_INVOKING
强制MSYS2
将当前目录用作新bash
实例的工作目录
验证一切正常
- 启动
ConEmu
程序(应从在新选项卡中运行的bash
控制台开始) - 使用
Ctrl+X
热键在ConEmu
打开新控制台,这只是检查Ctrl+X
工作原理 - 转到
/d/opt/docker/
文件夹并在其中运行./start.sh
- 执行
docker run hello-world
命令 - 检查输出,如下所示,有关输出的最新实际信息,请参阅《 Docker指南》 。
$ docker run hello-world
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/userguide/
码头工人机床
Docker Toolbox
安装VirtualBox
并在其中创建自己的VM,名为default
。 尽管可以通过VirtualBox
UI执行VM管理,但是还是有有用的docker-machine
工具。 它允许从命令行与VirtualBox
VM进行交互。 一些有用的命令如下所示。
-
$ docker-machine ls
–列出机器及其状态 -
$ docker-machine stop default
-停止默认VirtualBox
VM -
$ docker-machine start default
–启动默认的VirtualBox
VM -
$ docker-machine help
–有关更多信息
改善Windows上的Git体验
如果您打算使用git
注意以下步骤,否则可以跳过本节。
行尾
Windows
上使用git
时使用core.autocrlf
等于true
。
执行以下命令以为所有git
存储库设置此参数。
$ git config --global core.autocrlf true
密码缓存
通过HTTP / HTTPS使用远程存储库需要输入用户名密码。 最好使用缓存密码的凭据帮助程序,因此无需每次都键入密码。 对于GitHub
这很容易, 本文对此进行了说明 。 但是这种方法不适用于BitBucket
存储库。
适用于Windows的Git Credential Manager项目在GitHub
和BitBucket
上均可正常使用,但当前只能与通过GIT-SCM安装的git
一起使用- 跟踪问题 。
解决方案是使用适用于Windows的Git Credential Manager的前身版本 ,该版本在任何git
安装中均可正常运行。
聚苯乙烯
这是有关基于微服务架构的基于JVM
的项目的第一篇文章,该项目主要与Windows
特定功能有关。
下一篇文章将解释如何使用本指南中描述的环境创建和运行示例项目。
敬请关注。
翻译自: https://www.javacodegeeks.com/2015/11/jvm-microservices-run-docker-containers-windows.html