Hướng dẫn này giải thích những điều cơ bản khi bắt đầu với Docker. Tôi giả sử rằng bạn đã cài đặt Docker. Các bước trong hướng dẫn này sẽ hoạt động trên mọi bản phân phối Linux tương thích với Docker (CentOS, Ubuntu, v.v.).
Tạo container Docker đầu tiên của bạn
Docker tạo các thùng chứa ảo. Hệ thống container của Docker rất hiệu quả vì nó hoạt động với các cam kết. Điều này giúp tiết kiệm không gian và cho phép bạn xem các thay đổi đối với container. Ví dụ: nếu bạn cài đặt Apache trong một thùng chứa, bạn có thể tạo một cam kết với tên "Đã cài đặt Apache" để bạn biết chính xác những gì đã xảy ra.
Điều đầu tiên chúng ta sẽ làm là lấy từ một kho lưu trữ. Giả sử bạn muốn cài đặt Ubuntu trong một thùng chứa, bạn có thể kéo Ubuntu từ kho lưu trữ:
docker pull ubuntu
Hãy kiên nhẫn, vì điều này có thể mất một lúc. Sau khi mọi thứ đã được tải xuống, bạn có thể tạo một thùng chứa với HĐH này:
docker run -i -t ubuntu /bin/bash
Hoặc với Debian, ví dụ:
docker run -i -t debian /bin/bash
Nếu nó không thể tìm thấy HĐH (chưa được kéo), nó sẽ tự động kéo nó từ Docker Hub.
Hiệu quả, bây giờ bạn có một container! Bạn đang chạy bash trong thùng chứa được làm mỏng được quản lý bởi Docker. Hãy thử chạy một số lệnh Linux phổ biến để cảm nhận môi trường.
Khi bạn nhập exit
để thoát khỏi vùng chứa và trở về HĐH chính, tất cả các thay đổi của bạn sẽ biến mất. Để lưu các thay đổi vào một container, chúng tôi sử dụng các xác nhận.
Cam kết
Khi bạn tạo một Docker container, tên máy chủ của nó sẽ tự động được tạo. Ví dụ: khi tôi tạo một bộ chứa Ubuntu mới, tôi có thể nhận được tên máy chủ f7943e42aff0
. Đây là tên mà Docker đã đặt cho container của bạn.
Cài đặt những gì bạn muốn trên đó, và đảm bảo mọi thứ hoạt động. Sau đó thoát khỏi Docker container của bạn:
exit
Bây giờ chúng ta cần phải cam kết; nếu không, tất cả các thay đổi của bạn sẽ bị mất.
docker commit -a "William E." -m "Installed Apache" f7943e42aff0 apachesnapshot
Công -a
tắc có thể được sử dụng để xác định chính xác ai là tác giả của cam kết đó (ai đã thực hiện các thay đổi trong vùng chứa). -m
là thông điệp cam kết. Tên f7943e42aff0
máy chủ của container của tôi. Trong trường hợp của bạn, nó sẽ khác, vì Docker tạo chúng ngẫu nhiên. apachesnapshot
là tên của hình ảnh của bạn
Bạn có thể xem danh sách với tất cả các hình ảnh trên máy cục bộ của bạn. Những cái mới nhất là ở đầu.
docker images
Để bắt đầu bộ chứa Docker của bạn với các thay đổi, hãy chạy:
docker run -t -i apachesnapshot /bin/bash
Sử dụng Dockerfiles
Dockerfiles có thể được sử dụng để tạo hình ảnh với các ứng dụng đã được cài đặt. Điều này làm cho nó thuận tiện để bắt đầu một container mà không phải chạy một lệnh cụ thể. Ví dụ: nếu chúng ta muốn tạo một hình ảnh với tệp ~/file.txt
đã được tạo, chúng ta sẽ sử dụng Dockerfile sau:
FROM ubuntu:14.04
MAINTAINER William E. <william@localhost>
RUN touch ~/file.txt
Để tạo một Docker container với Dockerfile này, hãy tạo một thư mục cho Dockerfile trên máy cục bộ của bạn (tôi đã sử dụng ~/files
). Đặt nội dung của Dockerfile của bạn vào một tệp có tên Dockerfile
. Bây giờ bạn có thể tạo một hình ảnh với nó bằng cách chạy:
docker build -t="test" .
Điều này tạo ra một hình ảnh Docker từ tập lệnh Dockerfile của bạn. Bây giờ bạn có thể chạy container của bạn. test
là giá trị tương tự như test
trong docker build
lệnh.
docker run -t -i test /bin/bash
Khi bash shell mở ra, bạn sẽ thấy rằng cái ~/file.txt
đã được tạo.
Đây chỉ là một hương vị của môi trường mạnh mẽ mà bạn có thể tạo bằng Docker. Hướng dẫn chính thức của Docker đi sâu hơn nhiều về các chủ đề này. Tại thời điểm này, bạn sẽ có thể thử nghiệm chạy các container hiện có và bắt đầu chụp ảnh của riêng bạn.
Viết bởi William David Edwards