Thực hành tốt nhất để triển khai docker-compose bằng Ansible là gì?


7

Ansible được sử dụng để triển khai docker-compose trên một hệ thống và sau đó khởi động container.

Khi ansible chạy từ hệ thống cục bộ, tệp soạn thảo docker được triển khai bằng Ansible.

Khi mã được đẩy lên bitbucket, nội dung tệp là:

../../../../docker-compose.yml

và CI cũng triển khai điều này trên hệ thống.

Kết cấu

project/ansible

project/docker-compose.yml

project/ansible/roles/role/files/docker-compose.yml

Thảo luận

Để ngăn chặn docker-compose.yml cần được thay đổi ở hai nơi, một liên kết tượng trưng đã được tạo, nhưng dường như bitbucket bị bỏ qua vì liên kết thay vì nội dung nằm trong tệp này.

Câu hỏi và trả lời này chỉ ra rằng:

Dữ liệu được tham chiếu bởi symlink không được lưu trữ trong kho lưu trữ.

và tạo một liên kết tượng trưng để tránh trùng lặp mã trong docker-compose.yml dường như gây ra sự cố.

Câu trả lời:


2

Thay vì sử dụng một liên kết tượng trưng sẽ được lưu trữ như trong BitBucket, người ta có thể sử dụng:

- name: Copy docker-compose.yml
  copy:
    src: ../../../../docker-compose.yml
    dest: /path/to/docker-compose.yml
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.