Cách sử dụng Docker Compose tập tin mà không cần lệnh docker-compose

0
11

        Tìm hiểu làm thế nào bạn có thể sử dụng các tập tin docker-compose.yml mà không cần lệnh docker-compose.
    

        
                                                                                    
                        

                 ] ]
    

     Cách sử dụng Docker Soạn các tệp mà không có lệnh soạn thảo docker
     Tìm hiểu cách bạn có thể sử dụng các tệp docker-compose.yml mà không cần lệnh docker-compose.
     http://www.techrepublic.com/

    

Container đã trở thành một công cụ không thể thiếu trong công nghệ kinh doanh. Nhưng đối với những người mới sử dụng container, nó có thể hơi khó hiểu. Điều này đặc biệt đúng khi bạn nhận ra có bao nhiêu phương pháp khác nhau để triển khai các ứng dụng và dịch vụ như vậy lên mạng của bạn.

Bạn có sử dụng Docker, Docker Compose hoặc Kubernetes không? Điều gì xảy ra nếu bạn đã chọn đi tuyến đường Docker Compose linh hoạt hơn, nhưng không muốn cài đặt lệnh soạn thảo docker? Hoặc có thể bạn có một số tệp được tạo cho Docker Compose, nhưng muốn chạy chúng bằng Docker?

XEM: 10 điều mà các công ty đang giữ trong trung tâm dữ liệu của riêng họ (Tải xuống TechRepublic)

Bạn có thể. Nhờ lệnh stacker stacker, có thể sử dụng các tệp docker-compose.yml đó, để triển khai một ngăn chứa đầy đủ cho cụm Docker Swarm đã chạy của bạn, chỉ cài đặt Docker. Điều đó có nghĩa là bạn có lựa chọn giữa việc sử dụng tệp Dockerfile hoặc docker-compose.yml để triển khai ngăn xếp container của bạn.

Nhưng làm thế nào để bạn làm điều này? Tôi se cho bạn xem.

    
        

Những gì bạn sẽ cần

Điều duy nhất bạn cần để thực hiện công việc này là:

  • Một bản cài đặt hoạt động của Docker
  • Một cụm docker được triển khai
  • Một tập tin docker-compose.yml để sử dụng

Để tìm hiểu cách triển khai Docker Swarm, hãy đọc
        Cách tạo bầy Docker
    
.

Một cảnh báo nhanh

Trước khi bạn lặn xuống, có một cảnh báo trước tiên bạn nên biết. Sử dụng lệnh ngăn xếp docker sẽ thất bại nếu tệp docker-compose.yml của bạn phụ thuộc vào Dockerfile để xây dựng hình ảnh. Phần docker-compose.yml như vậy có thể trông giống như:

 web:
     xây dựng: .
     cổng:
     - "8080: 80" 

Những điều trên sẽ thất bại. Thay vào đó, bạn phải khai báo phần này như vậy:

 web:
     hình ảnh: nginx
     cổng:
     - "8080: 80" 

Tệp YML mẫu của chúng tôi

Với mục đích trình diễn này, chúng tôi sẽ sử dụng lại tệp từ bài viết "Cách xây dựng tệp Docker Compose" (trừ đi phần xây dựng). Vì vậy, tập tin docker-compose.yml của chúng tôi sẽ trông như thế này:

 Phiên bản: '3'
dịch vụ:
  web:
    hình ảnh: nginx
    cổng:
     - "8080: 80"
  db:
    hình ảnh:
    cổng:
    - "3336: 3306"
    xung quanh:
    - MYSQL_ROOT_PASSWORD = mật khẩu
    - MYSQL_USER = người dùng
    - MYSQL_PASSWORD = mật khẩu
    - MYSQL_DATABASE = demodb 

Bạn có thể thay đổi bất kỳ biến MYSQL nào cho phù hợp với nhu cầu của bạn. Chúng tôi sẽ lưu tệp đó trong một thư mục có tên ~ / dockerbuild.

Triển khai với ngăn xếp docker

Tập tin docker-compose.yml có thể được triển khai bằng lệnh docker-compose up. Tuy nhiên, chúng ta sẽ làm điều tương tự với lệnh stacker docker. Chúng tôi sẽ đặt tên cho ngăn xếp của mình là nginxdb, vì vậy lệnh để triển khai sẽ là:

 docker stack triển khai -c docker-compose.yml nginxdb 

Sự cố của lệnh là:

  • docker stack là chỉ huy chính.
  • triển khai cho biết chúng tôi đang triển khai ngăn xếp.
  • -c chỉ ra rằng tập tin cấu hình nào sẽ được sử dụng.
  • docker-compose.yml là tập tin cấu hình.
  • nginxdb là tên của ngăn xếp được triển khai.

Lệnh cần báo cáo lại như sau:

 Tạo dịch vụ nginx_web
Tạo dịch vụ nginx_db 

Nếu chúng tôi phát hành lệnh docker ps -a, chúng tôi có thể thấy rằng hai container của chúng tôi đã được triển khai ( Hình A ).

Hình A

 dockerstacka.jpg
, với docker-compose, bạn có thể dễ dàng truy cập các container đó bằng:

 docker-compose xuống 

Vì chúng tôi đang ở chế độ Docker Swarm, để dừng một container, bạn phải mở rộng quy mô giảm xuống còn 0. Để làm điều này, bạn phải biết tên của container, sử dụng docker ps -a và sau đó thu nhỏ nó xuống bằng lệnh:

 thang đo dịch vụ docker NAME = 0 

Trong đó NAME là tên của (các) container đang chạy sẽ bị dừng.

Và đó là ý chính của việc sử dụng tệp docker-compose.yml, mà không phải thêm docker-compose vào hỗn hợp. Đây chỉ là một công cụ khác trong hộp công cụ container của bạn. Đưa docker stack đi và xem nếu bạn thích nó hơn docker-compose hãy triển khai các container.

                                                                                

                                                

Cũng xem

 dockerhero.jpg "data-original =" https://tr4.cbsistatic.com/hub/i/r/2016/ 10/18 / 831f017c-ee68-4bd6-8a5c-ab31b4d35d6d / resize / 770x / 1cedcf2f03388a9720835a628a8a9765 / dockerhero.jpg [19459085
 
<figcaption>
<p>
                                            Hình: Docker<br />
                                        </p>
</figcaption></figure>
</p></div>
<div class=