Tag: ansible

Dockerized PostgreSQL:psql:致命:数据库系统正在启动

我正在尝试构build和运行两个托pipePostgreSQL和Citus扩展使用ansible-container Docker ansible-container 。 我知道Citus提供容器,但是我想build立自己的容器。 我的container.yaml如下所示: version: '2' services: database_master: image: hackermd/ubuntu-trusty-python user: postgres expose: – 5043 entrypoint: ['dumb-init', '–'] command: ['/usr/bin/pg_ctlcluster', '9.6', 'master', 'start'] links: – database_worker depends_on: – database_worker database_worker: image: hackermd/ubuntu-trusty-python user: postgres expose: – 9700 entrypoint: ['dumb-init', '–'] command: ['/usr/bin/pg_ctlcluster', '9.6', 'worker', 'start'] 在构build过程中,我可以通过pg_ctlcluster启动和停止集群,并成功完成。 但是,当我随后运行容器时,出现以下错误: $ docker logs ansible_database_master_1 Removed stale […]

docker工人build立官方jenkins容器内

我在docker上运行官方Jenkins容器。 我需要build立docker形象作为成功构build后的行动,但jenkins容器没有docker二进制。 我看到几个选项,首先是从官方图像派生我自己的jenkins容器与docker二进制可用。 第二个select是使用专门的Jenkins从站与docker和其他必要的运行时间可用。 第三个select是提供Jenkins服务器。 我想在容器上运行一切,因为它干净,简单,易于重复。 你怎么解决这个问题? 从长远来看哪个更好的解决scheme?为什么? 我的最高优先级是能够通过单一的指令来configuration和引导整个CI基础设施。 而且,构build的docker容器将被推送到registry等,所以组件之间的连接应该是最佳的,最小的复杂度或手动configuration。

使用Ansible获取Docker容器的内部IP地址

如何使用Ansible获取Docker容器的内部IP? 我尝试了使用hostvars但它给了我一个默认值: {% for host in groups['replicationserversdsds'] %} rs.add("{{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}:{{ mongod_port }}") {% endfor %} 我在我的Mac上安装了Ansible,并创build了2个Docker容器来部署Mongo副本。 所以我需要获得两个容器的内部IP添加到主集的次要。 两者都在Docker Machine主机上运行(相同IP,192.168.99.100)。 但我总是得到一个默认的IP(172.1.0.3)。

使用Ansible和Docker部署/运行Redis服务

我正在使用Ansible docker模块来设置Redis服务(请参阅下面的安全angular色) – hosts: redis roles: – role: angstwad.docker_ubuntu sudo: true tasks: – name: data container sudo: true docker: name: redis-data image: busybox state: started volumes: – /data/redis – name: redis container sudo: true docker: name: redis-service image: redis:3 command: redis-server –appendonly yes state: started expose: 6379 volumes_from: – redis-data configuration完成后, redis-service容器已经启动,但是当我尝试使用redis-cli连接到redis时,出现以下错误: vagrant@dev1:~$ redis-cli Could […]

Vagrant,Ansible和Docker如何让Linux dev机器尽可能接近生产

对不起,这里的非明确的标题是我想实现的 让我的Web应用程序与docker一起运行(一个用于数据库的容器,一个用于caching,一个用于php-fpm +代码) 在生产中,因为我没有stream浪,所以我希望docker模块的标准能够提供环境 因为我的开发人员有Linux机器和stream浪者支持docker作为提供者,我希望这些docker容器直接运行在我们的开发机器没有VM(因为我们有很多的项目,保持一个虚拟机项目很快用尽内存,我们需要经常停机/停机,特别是在维护阶段) 我们在Mac / Windows上有一些开发者,所以我们仍然需要stream浪者提供一个“stream浪”的抽象层,让开发者有一个大脑死亡的简单的开发环境。 我知道如何在一台机器上使用Vagrant + Ansibleconfiguration,我知道如何使用docker模块创build一个完整的环境, http://docs.ansible.com/docker_module.html Vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.vm.provision :ansible do |ansible| ansible.playbook = 'provisioning/site.yml' ansible.extra_vars = app_vars ansible.verbose = verbosity_arg end end 但是它会在虚拟机中运行 我知道如何使用stream浪汉在一个stream浪文件中创build几台机器 Vagrant.configure(2) do |config| config.vm.define :dbmachine do |dbmachine| dbmachine.vm.provider = "docker" do |d| … end end config.vm.define :cachemachine do |cachemachine| cachemachine.vm.provider […]

如何安全地将SSH密钥传递给Docker构build?

我想创build一个复制我们的生产服务器的开发者的Docker镜像。 这些服务器由Ansibleconfiguration。 我的想法是运行一个ansible-pull的适用于容器内的所有configuration。 问题是我需要使用SSH密钥来获取剧本,但我不想在Docker镜像上共享SSH密钥。 那么,有没有一种方法可以让SSH密钥在运行时没有运行时间呢?

docker工人,如何取代docker工人的卡皮斯特拉诺任务

我正在尝试dockerize我的生产轨应用程序。 目前的应用程序使用Ansible进行configuration,并使用capistrano进行部署。 我研究了不同的docker部署策略,并考虑摆脱docker中的capistrano,并将docker-compose 我正在编写dockerfile来configuration和部署应用程序,但部署类似于capistrano的应用程序有点复杂,因为deploy.rb使用几个rake任务来设置预先部署任务,如创build目录设置应用程序名称和获取一些variables。 如何在dockerfile中复制上限任务,或者是否有方法在Docker文件或运行Docker容器中使用当前上限任务?

用可变键Ansible docker_container etc_hosts

我有一个可靠的脚本,通过它产生一个docker容器,并添加less量的主机条目,因为etc_hosts需要密钥作为主机名和相应的IP地址。 在我的情况下,我需要有主机名和IP地址由一些variables驱动,例如 docker_container: name: image-name image: image-to-be-pulled state: started restart_policy: always etc_hosts: "{{ domain_1 }}": "{{ domain_1_ip }}" domain_2 : "{{ domain_2_ip }}" domain_3 : "{{ domain_3_ip }}" 当我进行上面的configuration,然后它作为主机文件的条目 xx.xx.xx.xxx {{ domain_1 }} 理想情况下,主机文件应包含对IP的主机名,有人可以build议我怎么做到这一点。 提前致谢

在Ansible中逃避双花括号

如何摆脱Ansible 1.9.2双花括号? 例如,如何在下面的shell命令中转义双花括号? – name: Test shell: "docker inspect –format '{{ .NetworkSettings.IPAddress }}' instance1"

Docker容器和Ansible Playbook之间有什么区别?

在我看来,这两个工具都用于轻松安装和自动configuration应用程序。 不过,我有限地使用了Docker,并没有使用Ansible。 所以我有点困惑。 每当我search这两种技术之间的比较时,我会发现如何组合使用这些技术的细节。