practical-ansible.nginx_docker

Nginx-docker for ansible

Integration Quality Downloads Role

使用 Ansible 将 Docker 项目部署到 Nginx,无论是否使用 https。此角色对您用于创建应用的语言没有限制。旨在与持续集成和持续部署工具配合使用。

特点

  • 构建或使用预构建的 Docker 镜像
  • 不需要 Docker 注册表
  • 通过 nginx_project 配置 https
  • 自动替换旧版本,使用 project_name

先决条件

  • 目标用户具有配置 Nginx 的权限
  • 目标用户具有运行 Docker 的权限

安装

ansible-galaxy install practical-ansible.nginx_docker

示例剧本

这是最常见的剧本

---
- name: 部署到测试 Docker 容器
  hosts: all
  roles:
    - role: practical-ansible.nginx_docker
      vars:
        admin_email: '[email protected]'
        image_local: 'test_app.tar'
        project_port: '3000'
        project_name: 'my-app'
        project_version: '0.1.0'
        server_names: 'localhost,www.localhost'
        use_ssl: true
        env:
          print_this: '测试部署: X Æ A-12'

您可以在 tests 目录中找到更多示例。

示例 CI

还有更多 配置示例

参考手册

使用此手册,以避免在将您的 Docker 包装应用程序部署到 Nginx 时产生倦怠症。

内容目录


默认变量

client_max_body_size

Nginx 的最大文件上传大小。值由 nginx 文档 定义。

默认值

client_max_body_size: 1M

env

要传递给 Docker 容器的环境变量字典。

默认值

env:
  nginx_docker: yes

示例用法

env:
  PORT: 80
  SECRET_TOKEN: xa2z3ik6

image_local

提取的 Docker 镜像路径。当为空时,角色将在本地主机上尝试构建图像,然后再将图像上传到远程。期望 Dockerfile 与剧本在同一目录中。

默认值

image_local: ''

示例用法

image: './dist/my-app.tar'

image_name

将从 Docker 仓库拉取的镜像名称。

默认值

image_name: ''

示例用法

image: 'requarks/wiki'

network_name

此容器使用的 Docker 网络名称。如果必要,角色将创建它。

默认值

network_name: practical-ansible

示例用法

network_name: 'totally-separated-network'

project_port

容器的内部端口号。角色将此端口从 Docker 映射到 Nginx 代理。

默认值

project_port: 80

示例用法

project_port: 3000

依赖项

  • {'role': 'practical-ansible.nginx_project'}

许可证

MIT

作者

Pavel Žák

关于项目

Deploy your Docker project to Nginx with minimal config

安装
ansible-galaxy install practical-ansible.nginx_docker
许可证
mit
下载
660
拥有者
Tiny Ansible roles and playbooks that help you with web hosting in a world of VPS