加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows:如何启动docker VM att系统启动

发布时间:2020-12-13 23:03:24 所属栏目:Windows 来源:网络整理
导读:我需要在基于 Windows的构建服务器上运行docker(我通常使用Arch / Debian Linux),我找不到让docker VM在系统启动时自动启动的方法.在Linux上,它将是一项服务,但在Windows上似乎并非如此. 我按照https://docs.docker.com/engine/installation/windows/上的说
我需要在基于 Windows的构建服务器上运行docker(我通常使用Arch / Debian Linux),我找不到让docker VM在系统启动时自动启动的方法.在Linux上,它将是一项服务,但在Windows上似乎并非如此.

我按照https://docs.docker.com/engine/installation/windows/上的说明操作,当我使用$docker-machine create启动docker VM但是如何将其作为Windows服务或类似设备运行时,一切都运行了?

目标是能够使用构建Docker镜像,作为容器启动并对它们运行e2e测试.由于我们正在使用TeamCity来构建有关使用TeamCity解决此问题的任何想法,我猜也是如此.

我前段时间写了一个小的webapp,它有一个系统依赖,只能用于unix系统,因此docker是自然的选择(虽然我在流浪者身上取得了相当的成功..)

我正在使用Windows进行开发,并在其docker容器中运行此webapp.

所以我遇到了同样的问题,“如何在系统启动时启动它”?

我最终在自动启动目录中有一个小批处理文件,其中包含以下行:

docker-machine start default
docker run -d -p 8080:8080 -v //c/Users/%USERNAME%/somepath:/c/Users/%USERNAME%/somepath my/image --some.webapp.param=some-webapp-param-value

第一个调用启动“默认”虚拟机,但您应该能够在那里指定不同的虚拟机.
第二个调用运行“my / image”docker容器,将端口8080暴露给主机系统并从我的用户主目录安装“somepath”.
一定要指定“-d”参数,因为它在“后台”运行容器(选中“docker run –help”)

之后我的webapp可以通过“默认VM”的IP地址到达
(在我的情况下,这可能是192.168.99.100,这可能在您的系统上有所不同,您可以在首次启动此“docker quickstart terminal”时检查输出,因为IP地址将记录到控制台.)

有了这个我能像往常一样使用我的浏览器,将它指向“http://192.168.99.100:8080”并可以使用我的webapp.

希望有帮助=)

编辑

现在手头有批处理文件,有3个选项:

>将批处理文件放在自动启动目录中(需要交互式用户会话,因此可能不适合服务器实例..)
>通过Windows的任务调度程序安排批处理文件的执行.在那里你可以设置“在计算机启动时运行”作为任务的触发器.无论交互式会话(登录用户……)是否可用,任务都会运行
>使用像NSSM这样的服务包装器将批处理文件安装为Windows服务

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读