Windows环境下,如何在Docker里运行SAP UI5应用
本文面向的读者是对Docker技术有一些基本概念,但因为没有测试环境,所以没有动手操作过的朋友们。
最近Jerry因为要做一个新的SAP云产品开发,得搭各种开发环境,其中之一就是Docker.
Jerry之前的文章曾经简单介绍过Docker:
- 站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
- 在Kubernetes上运行SAP UI5应用(上)
- 在Kubernetes上运行SAP UI5应用(下)
当时给出的例子是,在Ubuntu操作系统下用Docker和Kubernetes运行一个UI5应用。因为我知道ABAP从业者们很多用的还是Windows开发环境,所以本文简单地把我在Windows操作系统下搭建Docker的步骤罗列出来,有兴趣的朋友可以照着做一遍。
这里的Windows特指Windows10.
Windows操作系统使用Docker的前提是要开启Hyper V虚拟技术,在控制面板里把Hyper-V前面的勾选中,重启即可。
Docker官网下载Docker For Windows的Community版本:
下载下来是一个900多兆的可执行文件:
安装后,在右下角任务栏里能看到Docker的图标:
安装默认会把Docker命令行工具docker.exe和容器编排工具docker-compose.exe安装到Program Files的Docker文件夹内:
右键可以使用GUI的方式来管理:
但我们一般情况下还是更习惯于使用命令行工具docker.exe对各种容器镜像进行操作。
Jerry已经事先开发好了一个SAP UI5应用,将其部署并运行在Nginx服务器上,并且把该应用和Nginx服务器一起打包在一个容器镜像内,并发布到 Docker Hub上了,地址如下:
命令行里直接运行这个镜像即可:
docker run i042416/ui5-nginx:v2.0
从命令打印日志能看出,因为我的本地环境没有这个名为i042416/ui5-nginx,标签为v2.0的镜像,因此首先会自动从Docker Hub将镜像下载到本地。
之后使用docker images命令就能看到这个成功下载到本地的镜像了,大小约为109MB:
现在使用如下的命令行启动一个容器:
docker run -d -p 1080:80 --name jerrynginx i042416/ui5-nginx:v2.0
各参数含义如下:
-d: 以后台模式启动容器,返回其ID. -p: 将容器内部Nginx开放的端口80映射到宿主机端口1080,这样宿主机即Windows环境下通过浏览器输入localhost:1080访问该容器。
--name: 给启动的容器实例取一个名字。 执行完命令行之后,浏览器输入如下 url,即可访问到运行在容器内的Nginx之上的SAP UI5应用:
docker ps命令,能看到这个处于运行状态的容器实例:
docker inspect jerrynginx能查看明细:
在Windows Docker Desktop的Dashboard菜单里能观察到这个名为jerrynginx,处于后台运行状态下的容器实例:
该Dashboard提供了针对运行时容器实例的一些基础操作,比如查看日志:
以及登入容器实例内部,以交互式方式执行命令行等功能。这些功能均对应有docker命令行工具的实现,可以根据喜好来选择使用。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":