Tag: ansible

ansible – 根据另一个variables定义var的值

今天我有一个循环,允许我启动多个docker集装箱 – name: start container current docker_container: name: "{{ item.name }}" image: "{{ item.name }}:{{ item.version }}" state: started recreate: true ports: – "{{ item.ports }}" volumes: – /opt/application/i99/{{ item.type }}/logs:/opt/application/i99/{{ item.type }}/logs env_file: /opt/application/i99/{{ item.type }}/{{ item.name }}/{{ item.name }}-PreProd-config.list env: LOG_FILE_WS: "/opt/application/i99/{{ item.type }}/logs/{{ hostname }}_WS.log" with_items: – { name: 'backend', ports: '8000:8000', […]

为什么nodejs请求调用两次

我正在开发Node+ ansible模块,我需要通过ansible script来build立mysql docker镜像。 当我build立图像请求多次调用,如果请求get second time browser去connection was reset 。 注意:如果第二次请求完美地构build图像。 首先要求问题,同时浏览器去connection was reset. 我做了什么: mysql.js: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var bodyParser = require('body-parser'); var app = express(); var Ansible = require('node-ansible'); var yaml = require('node-yaml'); var timeout = require('infinite-timeout'); // view […]

如何使用docker和盐configuration

我正在Django项目工作,我知道python / django和一些项目,但没有使用任何自动化的部署工具,如面料,stream浪汉,anisible,puppet,厨师,盐。 现在我需要学习使用Docker和Saltconfiguration的django。 可以给这些东西简单介绍一下,主要是docker和盐。 每个工具有什么用途? 它会使用像我这样的初学者。

运行mysql:5.5 docker镜像

如何运行mysql:5.5从ansible? 如果我直接运行它: docker run -e MYSQL_ROOT_PASSWORD=pass mysql:5.5 它工作正常。 但是,如果我从理智的angular度出发: – name: run database local_action: module: docker image: mysql:5.5 state: running 这是开始,立即停止。 在1情况下是3306 / tcp,但在情况2没有端口。

目标主机没有更新完整的剧本中的细微变化

我的剧本是(除其他外)启动docker集装箱: – name: Restart nginx container docker: name: nginx image: my-nginx state: started ports: – "{{ nginx_port }}:80" volumes: – "{{ host_socket }}:{{ container_socket }}" 这是正确启动容器。 但是,如果我决定需要在另一个端口运行nginx ,并再次运行剧本,容器不会重新启动。 看起来,容器正在启动和运行,但是不能validation其余参数是否正确。 我在这里看到两个选项: 强制重新启动,每当我运行的剧本,没有条件问,所以我确保最新的configuration是活跃的。 我不喜欢这个,因为大部分时间参数不会改变。 强制更准确地检查所有参数,如果值已经改变,重新启动容器。 我不确定有这样的select。 在检查容器的状态时,我怎么能告诉他更准确?

Ansibleangular色任务失败的docker swarm节点join

joinpipe理节点的工作节点时遇到问题。 但是我在集群中join工作的时候在系统中有问题。 docker_worker_token设置为另一个主机。 host1: – name: Get the worker join-token. shell: docker swarm join-token -q worker with_items: – "{{ groups['manager'] }}" register: docker_worker_token host2: – name: join node to the cluster shell: docker swarm join –token {{ hostvars[item]['docker_worker_token'] }} {{ managerip }}:2377 with_items: – "{{ groups['manager'] }}" 我正在下面的错误是这样的。 失败:[188.166.30.64](item = 188.166.17.148)=> {“changed”:true,“cmd”:“docker swarm join –token […]

Ansible主机的行为:设置Vagrant或Docker

我提供了一个带有Ansible的Vagrant框,而我的ansible / site.yml包含以下hosts条目: — – hosts: all 我决定设置一个CI来testingAnsible代码在ansible /下。 但是对于Docker,Ansible抱怨道: PLAY [all] *************************************************************** skipping: no hosts matched 然后我改变主机条目到localhost ,现在它在Docker中工作! 但现在它拒绝运行在stream浪汉之下! PLAY [localhost] *************************************************************** skipping: no hosts matched 我不是一起使用Vagrant和Docker! Vagrant被用在我的机器和Docker中,但都运行相同的Ansible playbook! TL; DR: Vagrant仅适用于hosts: all ,而Docker仅适用于hosts: localhost 。

如何设置持续集成(Ansible)?

我们有一个相当大的代码库,我们使用Ansible来部署我们的服务器。 我现在想要开始持续集成,我也在考虑使用Ansible。 我认为我们可以做到这一点的方式是,当合并开发或掌握一些东西时,在一些外部服务器(自我pipe理的Jenkins服务器或某种商业服务)上使用webhook,然后在DigitalOcean上使用api生成一个服务器,运行可以设置的东西(从多个仓库中提取并创buildtesting数据),然后运行unit testing。 我想使用Ansible的原因是因为它确保我们所拥有的环境与我们的生产服务器完全相同。 但是我不确定Ansible是否是正确的工具,因为我认为Ansible通常是一种编排工具。 我当然也可以设置一些Docker文件,但这意味着我需要保持Dockerfile和Ansible脚本的同步(并且我们将在未来几个月内将LOT更改为我们的设置)。 任何人都可以分享一些build议吗? 我应该使用Ansible,Docker,还是有其他更好的select? 我可以设置一个Jenkins服务器,但我更愿意使用商业服务,因为我想避免需要pipe理Jenkins服务器。 而且我也宁愿避免使用DigitalOcean,只是把持续集成全部放在一个平台上(Jenkins /其他?)。 我环顾了各种商业CI平台,但是我不能真正find使用Ansible进行testing的任何事情。 所有的提示,欢迎!

docker守护进程开始使用ansible

我正在为启动docker达蒙,docker集装箱,docker执行可靠的脚本工作在docker集装箱启动docker集装箱后,我需要启动一些服务。 我已经安装了docker引擎,configuration和远程机器中的一些docker集装箱工作。 我曾经用特定的path启动docker守护进程,因为我需要在path中存储我的卷和容器。 $docker daemon -g /test/docker 我的问题是什么时候启动docker守护进程启动,但不去下一个进程。 通过可靠的。 仍在运行docker守护进程。 — – hosts: webservers remote_user: root # Apache Subversion dnf -y install python-pip tasks: – name: Start Docker Deamon shell: docker -d -g /test/docker become: yes become_user: root – name: Start testing docker machine command: docker start testing async: True poll: 0 我遵循asynchronous开始的过程 ,但它不为我工作, build议我在启动docker守护进程之后,如何运行下一个进程。

如何使用Ansible Playbook将nginx docker容器安装到主机中?

我想部署一个nginx的docker容器在我的服务器我用Capistrano之前现在正在迁移一切到Ansible我的手册工作良好期望安装容器卷到主机看到我的代码下面 vars.yml image: nginx:latest name: Nginx src_port: 80 dest_port: 80 src_vol: /var/www/nginx dest_vol: /etc/nginx privileged: true main.yml – name: include variables include_vars: vars.yml – name: Checking running Docker Container become: yes shell: docker ps -a – name: Starting the Nginx Docker Container become: yes docker: name: "{{ name }}" image: "{{ image }}" state: started […]