Source code for seaworthy.containers.nginx

from seaworthy.client import wait_for_response
from seaworthy.definitions import ContainerDefinition


[docs]class NginxContainer(ContainerDefinition): """ Nginx container definition. .. todo: Write more docs. """ DEFAULT_NAME = 'nginx' DEFAULT_IMAGE = 'nginx:alpine' def __init__(self, name=DEFAULT_NAME, image=DEFAULT_IMAGE, **kwargs): super().__init__(name, image, **kwargs)
[docs] def base_kwargs(self): """ Publish all exposed ports to the host. """ return {'publish_all_ports': True}
[docs] def wait_for_start(self): """ Wait for Nginx to return any valid HTTP response. """ wait_for_response(self.http_client(), self.wait_timeout)
[docs] def exec_nginx(self, args): """ Execute a ``nginx`` command inside a running container. :params args: a list of args for the command """ return self.inner().exec_run(['nginx'] + args)
[docs] def exec_signal(self, signal='reload'): """ Send a signal to the Nginx master process (``nginx -s``). :param signal: one of: stop, quit, reopen, or reload """ return self.exec_nginx(['-s', signal])