/ / Cách tự động tạo tệp soạn thảo từ các bộ chứa Docker đang chạy

Cách tự động tạo tệp soạn thảo từ các bộ chứa Docker đang chạy

Docker là một công cụ cần thiết để cài đặt dễ dàng các ứng dụng có thể chạy các trang web và dịch vụ của bạn và thậm chí còn dễ dàng quản lý hơn với docker-compose.


Một số dự án không đi kèm với các tệp docker-compose và việc tự tạo một tệp sẽ tốn thời gian. docker-autocompose có thể tạo tệp docker-compose đang hoạt động từ bất kỳ bộ chứa Docker đang chạy nào.


Một số ứng dụng Docker không có tệp soạn thảo

Ubuntu chạy như một container docker

Docker là một nền tảng mã nguồn mở để triển khai các ứng dụng trong các thành phần đi kèm được gọi là bộ chứa. Bằng cách sử dụng Docker, bạn không cần phải lo lắng về sự phụ thuộc hoặc tương tác giữa các dịch vụ vì chúng thường được cấu hình sẵn ở một mức độ nào đó.

Bạn có thể sử dụng Docker để triển khai các ứng dụng bao gồm máy chủ chuyên dụng, bản phân phối Linux hoặc hình ảnh tùy chỉnh. Chạy ứng dụng với Docker tương đối dễ dàng và có thể đảm bảo bạn luôn có phiên bản phần mềm mới nhất.

Nếu chưa quen với khái niệm ứng dụng dockerized, bạn nên đọc hướng dẫn cần thiết của chúng tôi về lý do bạn nên sử dụng Docker thay vì máy ảo.

Các lệnh Docker dài và thường được thực thi dưới dạng một lệnh đơn đặt ra tất cả các biến có liên quan. Chúng rất khó nhập và mặc dù bạn có thể thêm bí danh vào tệp .bashrc của mình, nhưng nó thường dẫn đến việc nhấn liên tục Ctrl + R để tìm lệnh Docker chính xác mà bạn muốn.

Docker Compose là một công cụ giúp bạn điều phối và tương tác giữa các vùng chứa. Nó rất hiệu quả trong việc giúp bạn quản lý các thùng chứa Docker, đến nỗi nhiều người dùng hoàn toàn không học cách sử dụng Docker. Tại sao bạn lại như vậy, khi tất cả những gì bạn cần làm là tải xuống một tệp YAML duy nhất và hiển thị tệp đó bằng một lệnh hai từ đơn giản?

Mặc dù nhiều ứng dụng có thể được Docker triển khai có các tệp Soạn thảo, nhưng không phải tất cả đều có, gây khó khăn cho việc cài đặt và triển khai Docker nhanh chóng, sạch sẽ. Điều này đặc biệt phổ biến với các ứng dụng dành cho phần cứng ít phổ biến hơn, chẳng hạn như ARM64 và ARMhf.

Nếu bạn thích sử dụng docker-compose hơn Docker thô, bạn có thể chọn không sử dụng một phần mềm cụ thể nếu không có docker-compose.yml tiện dụng trong kho lưu trữ GitHub của dự án.

docker-autocompose giúp dễ dàng tự động tạo tệp soạn thảo

docker-autocompose là một ứng dụng Python có thể tạo một tệp Compose đang hoạt động từ bất kỳ vùng chứa Docker nào đang chạy.

Điều này có nghĩa là bạn chỉ cần chạy lệnh docker trước, sau đó lấy đầu ra đã tạo và khởi động ứng dụng bằng cách sử dụng docker-compose trong tương lai hoặc bạn có thể nối nó vào tệp Soạn hiện có để quản lý tất cả các dịch vụ của mình cùng một lúc.

Cách cài đặt docker-autocompose trên Linux

Vì docker-autocompose xuất hiện dưới dạng ứng dụng Python nên bạn cần cài đặt Python PIP trên hệ thống Linux của mình.

Để cài đặt Python PIP trên Debian hoặc Ubuntu:

 sudo apt install python3-pip 

Cài đặt PIP trên Arch Linux và các dẫn xuất của nó bằng cách sử dụng:

 sudo pacman -S python-pip 

Để cài đặt PIP trên CentOS và Red Hat Enterprise Linux, hãy chạy:

 sudo yum install python3 python3-wheel 

Không cần phải nói rằng bạn cũng cần cài đặt Docker và Docker Compose.

Sao chép kho lưu trữ GitHub cho docker-autocompose và chuyển vào thư mục mới:

 git clone https:
cd docker-autocompose

Bây giờ hãy cài đặt docker-autocompose bằng cách chạy:

 sudo python3 setup.py install 

docker-autocompose hiện đã được cài đặt.

Sử dụng docker-autocompose để tạo tệp soạn thảo

Thông thường, trong khi tìm kiếm các ứng dụng Linux thiết yếu, bạn sẽ tình cờ bắt gặp một dự án tuyệt vời đi kèm với hình ảnh Docker nhưng không có tệp Soạn thảo. Một ví dụ về điều này là ứng dụng khách IRC có thể truy cập trình duyệt tuyệt vời, Dispatch.

Tạo một thư mục để Dispatch sử dụng:

 mkdir ~/dispatch 

Tải xuống và khởi động ứng dụng khách trên cổng 8080 của máy cục bộ của bạn với:

 docker run -p 8080:80 -v /home/david/dispatch:/data --restart no -d khlieng/dispatch 
Gửi ứng dụng khách IRC chạy trên cổng localhost 8080

Truy cập localhost:8080 trong trình duyệt của bạn để kiểm tra xem Công văn có hoạt động không, sau đó yêu cầu docker-autocompose tạo nội dung tệp Soạn từ vùng chứa đang chạy với:

 sudo autocompose.py <container-name-or-id> 

Trong trường hợp này, tên vùng chứa được gửi đi và ID vùng chứa sẽ xuất hiện dưới dạng đầu ra trong thiết bị đầu cuối của bạn ngay sau khi chạy lệnh docker.

Ngoài ra, bạn có thể tạo nội dung tệp Soạn thảo mà bạn có thể sử dụng để khởi động tất cả các bộ chứa Docker đang chạy của mình bằng:

 sudo autocompose.py $(docker ps -aq) 

Sẽ không có tệp Docker Compose nào được tạo, vì vậy bạn cần sao chép thiết bị xuất chuẩn vào khay nhớ tạm của mình, sau đó tạo một tệp mới với:

 nano docker-compose.yml 
docker-compose được tạo bởi docker-autocompose

Dán nội dung trong khay nhớ tạm của bạn, sau đó lưu và thoát nano bằng Ctrl + Osau đó Ctrl + X.

Bây giờ bạn có thể bắt đầu tất cả các vùng chứa của mình cùng một lúc với:

 docker-compose up -d 

Ngoài ra, bạn có thể chạy docker-autocompose bằng chính Docker bằng cách chạy:

 docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <container-name-or-id> <additional-names-or-ids> 

… đó là một lệnh nhắc nhở bạn lý do tại sao bạn cần docker-autocompose để bắt đầu.

Tạo ngay lập tức các tệp soạn thảo đang hoạt động từ các bộ chứa Docker đang chạy

Docker và Docker Compose là một phần ngày càng quan trọng trong hệ sinh thái ứng dụng Linux và đang tỏ ra đặc biệt có giá trị đối với các trang web và dịch vụ tự lưu trữ trên máy tính bảng đơn Raspberry Pi phổ biến.

Nếu bạn chưa bắt đầu hành trình hướng tới việc tạo hệ sinh thái trực tuyến của riêng mình, bạn nên xem qua một số dự án giao diện web tuyệt vời mà bạn có thể chạy trên Pi.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *