Tag: playbook

模拟“dockerbuild设-f”与模块“docker_image”

在构builddocker镜像时,我想在Dockerfile中添加指令“COPY”,并在当前编译目录之外的目录中(放置Dockerfile的位置) – 我使用的是这样的: docker build -f centos6-fresh / Dockerfile -t test / c6-fresh。 现在我想通过可靠的方式来configuration容器并build立docker图像。 当然,我可以用shell,command或raw模块来完成,但是我看到了Docker的特殊模块。 所以我用模块“docker_image” – name: Build test image docker_image: path: /docker/build_env/test name: test_build tag: v0 当然,我有错误。 有没有什么select,从哪个目录设置,build立过程必须开始? UPD我需要这些操作的例子: 我有pipe理节点(我的笔记本电脑)与容器的可靠和Docker主机。 Ansible dir使用git供应给Docker服务器。 通常我在Docker主机上的目录build_env中创build一个镜像: [root@docker build_env]# ls -1 ansible centos6-fresh centos7-fresh debian8-fresh templates test 所以在运行“git pull”之后,我运行了类似的东西 docker build -f centos6-fresh / Dockerfile -t test […]

用Ansible构buildDocker docker_image

我正在使用Ansible的docker_image模块在一台机器上构build一堆docker 。 我构build了1个“基础”泊坞窗图像,用作所有后续泊坞窗图像中的FROM图像。 这在手动发布构build命令时起作用: sudo docker build -t base . sudo docker build -t postgres . 但是,当我试图做与Ansible模块相同的第二个图像(以及所有使用“基本”图像的后续图像)失败,并出现以下错误: TASK: [Docker | Build postgres] ************************************ failed: [192.168.1.120] => {"changed": true, "failed": true, "image_id": null} msg: Error: Error: image base:latest not found Log:Step 0 : FROM base FATAL: all hosts have already failed — aborting 我的Playbook中的条目是: – name: […]

Ansible – 剧本dynamic冗长

我想从Dockerfile构build一个Dockerfile 。 我可以通过使用这样的bash来做到这一点: [root@srv01 ~]# docker build -t appname/tomcat:someTag /root/Documents/myDockerfiles/tomcat 使用bash构build图像的好处在于,它会逐步stdout执行的内容: Step 1 : FROM tomcat:8.0.32-jre8 8.0.32-jre8: Pulling from library/tomcat fdd5d7827f33: Already exists … 当从bash以下列方式使用Ansible时: [root@localhost ansiblescripts]# ansible-playbook -vvvvv build-docker-image.yml : 其中build-docker-image.yml文件包含以下内容: – name: "my build-docker-image.yml playbook" hosts: myHost tasks: – name: "simple ping" ping: – name: "build the docker image" become: yes become_method: root […]

Ansible – 根据Docker模块中的库存文件有条件地设置卷和主机名

我正在使用Ansible将我的容器部署到生产环境中。 在开发过程中,我想让Ansible在我的本地主机上而不是在生产服务器上部署所有的容器。 生产服务器在Ubuntu上运行,localhost是OS X与boot2docker。 我有2个库存文件,生产和本地主机。 我的目录结构如下所示: . |–inventories | |localhost | |production | |–group_vars | |all | |localhost | |production | |–roles | |–web | |–tasks |main.yml | |web.yml web.yml只是定义主机组并分配webangular色。 /roles/web/tasks/main.yml看起来像这样: – name: Run web container docker: name: web image: some/image state: reloaded … tls_hostname: boot2docker volumes: – "/data/db:/data/db" env: … tags: – … 我需要有条件地设置tls_hostname […]