在Windows下登录时启动Docker容器

时间:2017-04-12 09:31:45

标签: docker docker-compose docker-windows

我刚刚设置了一个新的Windows 10开发机器,以便最大限度地减少安装的麻烦我已经使用docker在Docker下运行各种dev依赖项(Oracle,MongoDB,RabbitMQ,HAProxy等) - 撰写剧本。

我想在Windows登录时自动启动这些容器,但到目前为止我还没有想出办法来做到这一点;在正确的目录中执行docker-compose up -d的简单脚本应该这样做,但如果它在登录时立即执行,则Docker尚未启动,因此脚本失败。有没有人知道如何以编程方式等待直到docker运行?

2 个答案:

答案 0 :(得分:1)

为了进一步阐述我的评论,我已经对网络服务器服务进行了一些测试,但它应该适用于任何服务,只要你按照你希望它的行为进行配置。

使用以下命令很容易设置它:

<asp:Gridview runat=server showHeader=false etc>

然后例如一个网络服务器

docker swarm init

甚至是数据库

docker service create --name webserver --publish 80:80 httpd

这些将在重新启动后重新启动,并且由于Docker swarm为您保留活动所请求的副本数量(默认值为1),会自动导致致命崩溃。

希望这可以提供一些帮助!

答案 1 :(得分:0)

事实证明,使用restart通过docker-compose很容易实现!更改了撰写文件如下:

version: '2'
    services:
        rabbitmq:
            image: rabbitmq:3.6-management
            ports:
                - "5672:5672"
                - "15672:15672"
            volumes:
                - /var/lib/rabbitmq
            restart: unless-stopped

这个额外的restart指令意味着除非已明确停止容器,否则它将在登录/重启时启动docker。经过测试和工作!