ansible docker_container
中的轰鸣声任务出了什么问题- name: "Create container for database"
docker_container:
name: db
image: "postgres:latest"
state: started
volume:
- /var/lib/postgresql/data
env:
POSTGRES_PASSWORD: "{{ lookup('password', '../files/dbpassword.txt') }}"
- name: "Create container for app"
docker_container:
name: botsystem
image: "ubuntu:latest"
state: started
volume:
- /opt/bot
env:
POSTGRES_PASSWORD: "{{ lookup('password', '../files/dbpassword.txt') }}"
我收到以下错误:
ERROR!加载YAML时出现语法错误。
错误似乎已经存在 '/home/xxx/workspace/ansible/main-server/roles/docker/tasks/main.yml': 第3行,第1列,但可能在文件的其他位置,具体取决于 确切的语法问题。
违规行似乎是:
docker_container:name:db ^ here
使用sublime文本而不是vim完成了这几个版本并且通过将卷更改为卷来克服了该错误
- name: "Create container for database"
docker_container:
name: db
image: "postgres:latest"
state: started
volumes:
- /var/lib/postgresql/data
env:
POSTGRES_PASSWORD: "{{ lookup('password', '../files/dbpassword.txt') }}"
- name: "Create container for app"
docker_container:
name: botsystem
image: "ubuntu:latest"
state: started
volumes:
- /opt/bot
env:
POSTGRES_PASSWORD: "{{ lookup('password', '../files/dbpassword.txt') }}"
现在我有错误:
ERROR!在任务中未检测到任何操作
错误似乎已经存在 '/home/xxx/workspace/ansible/main-server/roles/docker/tasks/main.yml': 第1行第3列,但可能在文件的其他位置,具体取决于 确切的语法问题。
违规行似乎是:
- name:“为数据库创建容器”^ here
答案 0 :(得分:-1)
您是否在文件开头添加了---
?同时按volume
更改volumes
。
类似的东西:
---
- name: Create container for database
docker_container:
name: db
image: "postgres:latest"
state: started
volumes:
- /var/lib/postgresql/data
env:
POSTGRES_PASSWORD: "{{ lookup('password', '../files/dbpassword.txt') }}"
- name: Create container for app
docker_container:
name: botsystem
image: "ubuntu:latest"
state: started
volumes:
- /opt/bot
env:
POSTGRES_PASSWORD: "{{ lookup('password', '../files/dbpassword.txt') }}"