Docker cho người mới bắt đầu: Tất cả mọi thứ bạn cần biết

Jun 15, 2025
Linux

Docker. [số 8] tạo ứng dụng đóng gói [số 8] gọi là container. Mỗi thùng chứa cung cấp một môi trường bị cô lập tương tự như một máy ảo [số 8] (VM). Không giống như VMS, container Docker Đừng chạy một hệ điều hành đầy đủ [số 8] . Họ chia sẻ kernel của máy chủ của bạn và ảo hóa ở cấp độ phần mềm.

Những điều cơ bản do docker

Docker đã trở thành một công cụ tiêu chuẩn cho các nhà phát triển phần mềm và quản trị viên hệ thống. Đó là một cách gọn gàng để nhanh chóng khởi chạy các ứng dụng mà không ảnh hưởng đến phần còn lại của hệ thống của bạn. Bạn có thể quay một dịch vụ mới với một Docker chạy chỉ huy.

Các thùng chứa gói gọn tất cả mọi thứ cần thiết để chạy một ứng dụng, từ các phụ thuộc gói hệ điều hành vào mã nguồn của riêng bạn. Bạn xác định các bước tạo của container làm hướng dẫn trong một Dockerfile. . Docker sử dụng DockerFile để xây dựng một hình ảnh .

Hình ảnh xác định phần mềm có sẵn trong các thùng chứa. Điều này tương đương một cách lỏng lẻo để bắt đầu một VM với hệ điều hành ISO. Nếu bạn tạo một hình ảnh, bất kỳ người dùng Docker nào sẽ có thể khởi chạy ứng dụng của bạn với Docker chạy .

Docker hoạt động như thế nào?

Các thùng chứa sử dụng các tính năng kernel hệ điều hành để cung cấp các môi trường ảo hóa một phần. Có thể tạo các thùng chứa từ đầu với các lệnh như chroot. [số 8] . Điều này bắt đầu một quá trình với một thư mục gốc được chỉ định thay vì gốc hệ thống. Nhưng sử dụng các tính năng kernel trực tiếp là nghịch ngợm, không an toàn và dễ bị lỗi.

Docker là một giải pháp hoàn chỉnh cho sản xuất, phân phối và sử dụng các container. Các bản phát hành Docker hiện đại bao gồm một số thành phần độc lập [số 8] . Đầu tiên, có Docker CLI. , đó là những gì bạn tương tác với thiết bị đầu cuối của bạn. CLI gửi các lệnh đến một Docker daemon. . Điều này có thể chạy cục bộ hoặc Trên một máy chủ từ xa [số 8] . Daemon chịu trách nhiệm quản lý các thùng chứa và hình ảnh mà chúng được tạo ra từ đó.

Thành phần cuối cùng được gọi là Thời gian chạy container. . Thời gian chạy gọi các tính năng kernel để thực sự khởi chạy các thùng chứa. Docker tương thích với Runtimes tuân thủ Đặc điểm kỹ thuật OCI. [số 8] Tiêu chuẩn mở này cho phép khả năng tương tác giữa các công cụ container hóa khác nhau.

Bạn không cần phải lo lắng quá nhiều về các hoạt động bên trong của Docker khi bạn mới bắt đầu. Lắp đặt. Docker. Trên hệ thống của bạn sẽ cung cấp cho bạn mọi thứ bạn cần để xây dựng và chạy các thùng chứa.

Tại sao nhiều người sử dụng Docker?

Các thùng chứa đã trở nên phổ biến vì họ giải quyết nhiều thách thức phổ biến trong phát triển phần mềm. Khả năng chứa một lần và chạy ở mọi nơi Giảm khoảng cách giữa [số 8] môi trường phát triển của bạn và máy chủ sản xuất của bạn.

Sử dụng các thùng chứa cho bạn sự tự tin rằng mọi môi trường đều giống hệt nhau. Nếu bạn có một thành viên trong nhóm mới, họ chỉ cần Docker chạy để thiết lập trường hợp phát triển của riêng họ. Khi bạn khởi chạy dịch vụ của mình, bạn có thể sử dụng hình ảnh docker của mình để triển khai để sản xuất. Các Môi trường sống [số 8] Chính xác sẽ phù hợp với ví dụ địa phương của bạn, tránh "nó hoạt động trên các kịch bản của máy" của tôi.

Docker thuận tiện hơn máy ảo đầy đủ. VMS là các công cụ có mục đích chung được thiết kế để hỗ trợ mọi khối lượng công việc có thể. Ngược lại, container có trọng lượng nhẹ, tự túc và phù hợp hơn với các trường hợp sử dụng vứt bỏ. Vì Docker chia sẻ kernel của máy chủ, các thùng chứa có tác động không đáng kể đối với hiệu suất hệ thống. Thời gian khởi động container gần như tức thời, vì bạn chỉ mới bắt đầu các quy trình, không phải là toàn bộ hệ điều hành.

Bắt đầu

Docker có sẵn trên tất cả các bản phân phối Linux phổ biến. Nó cũng chạy trên Windows và MacOS. Theo Hướng dẫn thiết lập Docker cho nền tảng của bạn [số 8] để có được nó lên và chạy.

Bạn có thể kiểm tra xem cài đặt của bạn đang hoạt động bằng cách bắt đầu một thùng chứa đơn giản:

 Docker chạy Hello-World 

Điều này sẽ bắt đầu một container mới với cơ bản Chào thế giới hình ảnh. Hình ảnh phát ra một số đầu ra giải thích cách sử dụng Docker. Các thùng chứa sau đó thoát, thả bạn trở lại thiết bị đầu cuối của bạn.

Tạo hình ảnh

Khi bạn đã chạy Chào thế giới , bạn đã sẵn sàng để tạo ra hình ảnh docker của riêng bạn. Dockerfile mô tả cách chạy dịch vụ của bạn bằng cách Cài đặt phần mềm cần thiết [số 8] và sao chép trong các tập tin. Đây là một ví dụ đơn giản sử dụng máy chủ Web Apache:

 Từ httpd: Mới nhất
Chạy echo "mô-đun loadmodule_module mô-đun / mod_headers.so" & gt; & gt; /usr/local/apache2/conf/httpd.conf.
Sao chép .htaccess /var/www/html/.htaccess.
Sao chép index.html /var/www/html/index.html.
Sao chép CSS / / var / www / html / css 

Các TỪ dòng xác định hình ảnh cơ sở. Trong trường hợp này, chúng tôi đang bắt đầu từ hình ảnh Apache chính thức. Docker áp dụng các hướng dẫn còn lại trong Dockerfile của bạn trên đỉnh của hình ảnh cơ sở.

Các CHẠY Giai đoạn chạy một lệnh trong thùng chứa. Đây có thể là bất kỳ lệnh nào có sẵn trong môi trường của container. Chúng tôi đang bật tiêu đề Mô-đun Apache, có thể được sử dụng bởi .htaccess. tập tin để thiết lập quy tắc định tuyến.

Các dòng cuối cùng sao chép các tệp HTML và CSS trong thư mục làm việc của bạn vào hình ảnh container. Hình ảnh của bạn hiện chứa mọi thứ bạn cần để chạy trang web của mình.

Bây giờ, bạn có thể xây dựng hình ảnh:

 Docker Build -t My-Website: v1. 

Docker sẽ sử dụng DockerFile của bạn để xây dựng hình ảnh. Bạn sẽ thấy đầu ra trong thiết bị đầu cuối của bạn vì docker chạy từng hướng dẫn của bạn.

Các -NS Trong lệnh Tags hình ảnh của bạn [số 8] với một cái tên nhất định ( Trang web của tôi: V1 ). Điều này làm cho nó dễ dàng hơn để tham khảo trong tương lai. Các thẻ có hai thành phần, cách nhau bởi một dấu hai chấm. Phần đầu tiên đặt tên hình ảnh, trong khi thứ hai thường biểu thị phiên bản của nó. Nếu bạn bỏ qua dấu hai chấm, docker sẽ mặc định đối với việc sử dụng muộn nhất [số 8] như phiên bản thẻ.

Các . Vào cuối lệnh, hãy nói với Docker sử dụng DockerFile trong thư mục làm việc cục bộ của bạn. Điều này cũng vậy. Đặt bối cảnh xây dựng [số 8] , cho phép bạn sử dụng các tệp và thư mục trong thư mục làm việc của bạn với Sao chép Hướng dẫn trong Dockerfile của bạn.

Khi bạn đã tạo hình ảnh của mình, bạn có thể bắt đầu một container bằng cách sử dụng Docker chạy :

 Docker RUN -D -P 8080: 80 My-Website: V1 

Chúng tôi đang sử dụng một vài lá cờ thêm với Docker chạy ở đây. Các -NS Cờ làm cho Docker CLI tách ra khỏi thùng chứa, cho phép nó chạy trong nền. Ánh xạ cổng được xác định với -P , Vì vậy, cổng 8080 trên bản đồ máy chủ của bạn đến cổng 80 trong thùng chứa. Bạn sẽ thấy trang web của bạn nếu bạn truy cập localhost: 8080. trong trình duyệt của bạn.

Hình ảnh Docker được hình thành từ các lớp. Mỗi hướng dẫn trong Dockerfile của bạn tạo ra một lớp mới. Bạn có thể sử dụng các tính năng xây dựng nâng cao để Tham khảo nhiều hình ảnh cơ sở [số 8] , Vứt bỏ các lớp trung gian từ hình ảnh trước đó.

Cơ quan đăng ký hình ảnh

Khi bạn có một hình ảnh, bạn có thể đẩy nó đến một sổ đăng ký. Cơ quan đăng ký. cung cấp lưu trữ tập trung. [số 8] để bạn có thể chia sẻ container với người khác. Sổ đăng ký mặc định là Docker Hub. [số 8] .

Khi bạn chạy một lệnh tham chiếu hình ảnh, đầu tiên docker kiểm tra xem nó có sẵn cục bộ không. Nếu không, nó sẽ cố gắng kéo nó từ Docker Hub. Bạn có thể tự kéo hình ảnh bằng Docker kéo. chỉ huy:

 Docker Kéo httpd: Mới nhất 

Nếu bạn muốn xuất bản một hình ảnh, hãy tạo một Docker Hub. [số 8] tài khoản. Chạy Đăng nhập Docker. và nhập tên người dùng và mật khẩu của bạn.

Tiếp theo, gắn thẻ hình ảnh của bạn bằng tên người dùng Docker Hub của bạn:

 Docker Tag My-Image: Booker-Hub-username / My-Image mới nhất: Mới nhất 

Bây giờ, bạn có thể đẩy hình ảnh của bạn:

 Docker đẩy Docker-Hub-username / My-Image: Mới nhất 

Những người dùng khác sẽ có thể kéo hình ảnh của bạn và bắt đầu container với nó.

Bạn có thể Chạy registry của riêng bạn [số 8] Nếu bạn cần lưu trữ hình ảnh riêng tư. Một số dịch vụ của bên thứ ba cũng Cung cấp đăng ký Docker [số 8] như các lựa chọn thay thế cho Docker Hub.

Quản lý container của bạn

Docker CLI có một số lệnh để cho phép bạn quản lý các thùng chứa đang chạy của bạn. Dưới đây là một số trong những người hữu ích nhất để biết:

Danh sách container.

Docker PS. Cho bạn thấy tất cả các thùng chứa đang chạy của bạn. Thêm -Một Cờ sẽ hiển thị các container đã dừng, quá.

Dừng lại và bắt đầu container

Để ngăn chặn một container, chạy Docker dừng container của tôi . Thay thế container của tôi với tên hoặc id của container. Bạn có thể nhận được thông tin này từ trước chỉ huy. Một thùng chứa bị dừng được khởi động lại với Docker bắt đầu container của tôi .

Các container thường chạy miễn là quá trình chính của họ vẫn còn sống. Khởi động lại chính sách [số 8] Kiểm soát những gì xảy ra khi một container dừng hoặc máy chủ của bạn khởi động lại. Đi qua --Restart luôn luôn đến Docker chạy Để làm cho một container khởi động lại ngay sau khi nó dừng lại.

Lấy vỏ

Bạn có thể Chạy một lệnh trong [số 8] một container sử dụng Docker Exec Container My-Container My-Command . Điều này rất hữu ích khi bạn muốn gọi thủ công một tệp thực thi tách biệt với quy trình chính của container.

Thêm -nó Cờ nếu bạn cần truy cập tương tác. Điều này cho phép bạn thả vào một cái vỏ bằng cách chạy docker exec -it my-container sh .

Nhật ký giám sát

Docker tự động thu thập đầu ra phát ra các luồng đầu vào và đầu ra tiêu chuẩn của container. Các Docker đăng nhập container của tôi [số 8] Lệnh sẽ hiển thị nhật ký của container bên trong thiết bị đầu cuối của bạn. Các --theo dõi Cờ thiết lập một luồng liên tục để bạn có thể xem nhật ký trong thời gian thực.

Dọn dẹp tài nguyên

Container cũ và hình ảnh có thể nhanh chóng chồng chất trên hệ thống của bạn. Sử dụng docker rm my-container để xóa một container bằng ID hoặc tên của nó.

Lệnh cho hình ảnh là Docker RMI My-Image: Mới nhất . Vượt qua ID của hình ảnh hoặc tên thẻ đầy đủ. Nếu bạn chỉ định một thẻ, hình ảnh sẽ không bị xóa cho đến khi nó không còn thẻ được gán. Mặt khác, thẻ đã cho sẽ bị xóa nhưng các thẻ khác của hình ảnh sẽ vẫn có thể sử dụng được.

Dọn dẹp số lượng lớn có thể sử dụng Docker prune. chỉ huy [số 8] . Điều này cung cấp cho bạn một cách dễ dàng để loại bỏ tất cả các thùng chứa đã dừng và hình ảnh dư thừa.

Quản lý đồ họa.

Nếu thiết bị đầu cuối không phải là thứ của bạn, bạn có thể sử dụng các công cụ của bên thứ ba để Thiết lập giao diện đồ họa cho Docker [số 8] . Bảng điều khiển web cho phép bạn nhanh chóng giám sát và quản lý cài đặt của bạn. Họ cũng giúp bạn điều khiển từ xa các container của bạn.

Lưu trữ dữ liệu liên tục.

Container Docker là phù du theo mặc định. Các thay đổi được thực hiện đối với hệ thống tập tin của container sẽ không tồn tại sau khi container dừng lại. Nó không an toàn để Chạy bất kỳ hình thức lưu trữ tập tin [số 8] Trong một container bắt đầu với một cơ bản Docker chạy chỉ huy.

Có một vài cách tiếp cận khác nhau để Quản lý dữ liệu liên tục [số 8] . Phổ biến nhất là sử dụng ổ đĩa docker. Khối lượng là đơn vị lưu trữ [số 8] được gắn vào các hệ thống tập tin container. Bất kỳ dữ liệu nào trong một tập sẽ vẫn còn nguyên vẹn sau khi các điểm dừng container được liên kết của nó, cho phép bạn kết nối một vùng chứa khác trong tương lai.

Duy trì bảo mật

Khối lượng công việc dockerized có thể an toàn hơn so với các đối tác kim loại trần của họ, vì Docker cung cấp một số tách biệt giữa hệ điều hành và dịch vụ của bạn. Tuy nhiên, docker là một vấn đề bảo mật tiềm ẩn, như nó thông thường chạy như nguồn gốc [số 8] và có thể được khai thác để chạy phần mềm độc hại.

Nếu bạn chỉ đang chạy Docker như một công cụ phát triển, cài đặt mặc định thường an toàn để sử dụng. Máy chủ và máy móc sản xuất với ổ cắm daemon lộ ra mạng nên được làm cứng trước khi bạn đi trực tiếp.

Kiểm toán cài đặt Docker của bạn [số 8] để xác định các vấn đề bảo mật tiềm năng. Có Công cụ tự động có sẵn [số 8]Điều đó có thể giúp bạn tìm thấy điểm yếu và đề xuất nghị quyết. Bạn cũng có thể Quét hình ảnh container riêng lẻ [số 8] cho các vấn đề có thể được khai thác từ bên trong.

Làm việc với nhiều thùng chứa

Các Docker. lệnh chỉ hoạt động với một container tại một thời điểm. Bạn sẽ thường muốn sử dụng các thùng chứa trong tổng hợp. Docker sáng tác [số 8] là một công cụ cho phép bạn xác định các container của bạn được khai báo trong một tệp yaml. Bạn có thể bắt đầu tất cả chúng với một lệnh duy nhất.

Điều này rất hữu ích khi dự án của bạn phụ thuộc vào các dịch vụ khác, chẳng hạn như một phụ trợ trên web dựa trên máy chủ cơ sở dữ liệu. Bạn có thể xác định cả hai container trong Docker-Compose.yml. và hưởng lợi từ quản lý hợp lý với Mạng tự động [số 8] .

Đây là một đơn giản Docker-Compose.yml. tập tin:

 Phiên bản: "3"
dịch vụ:
  ứng dụng:
    Hình ảnh: App-Server: Mới nhất
    Cổng:
      - 8000: 80
  Cơ sở dữ liệu:
    Hình ảnh: Cơ sở dữ liệu-Máy chủ: Mới nhất
    Khối lượng:
        - Dữ liệu cơ sở dữ liệu: / Dữ liệu
Khối lượng:
    Dữ liệu cơ sở dữ liệu: 

Điều này định nghĩa hai container ( ứng dụng Cơ sở dữ liệu ). Một âm lượng được tạo cho cơ sở dữ liệu. Điều này được gắn vào /dữ liệu trong container. Cổng 80 của máy chủ APP được hiển thị dưới dạng 8000 trên máy chủ. Chạy docker-sáng tác lên -d Để quay lên cả hai dịch vụ, bao gồm cả mạng và khối lượng.

Việc sử dụng compose docker cho phép bạn Viết tái sử dụng [số 8] định nghĩa container mà bạn có thể chia sẻ với những người khác. Bạn có thể phạm Docker-Compose.yml. vào kiểm soát phiên bản của bạn thay vì có các nhà phát triển ghi nhớ Docker chạy lệnh.

Có những cách tiếp cận khác để chạy nhiều container. Ứng dụng Docker là. [số 8] một giải pháp mới nổi cung cấp một mức độ trừu tượng khác. Nơi khác trong hệ sinh thái, Podman là một thay thế docker [số 8] Điều đó cho phép bạn tạo "POD" của các thùng chứa trong thiết bị đầu cuối của bạn.

Dàn chồng container

Docker thường không được chạy như trong sản xuất. Bây giờ phổ biến hơn để sử dụng một nền tảng dàn nhạc như Kubernetes. [số 8] hoặc docker chế độ swarm. Những công cụ này được thiết kế để xử lý Nhiều bản sao container, [số 8] trong đó cải thiện khả năng mở rộng và độ tin cậy.

Docker chỉ là một thành phần trong phong trào container rộng lớn hơn. Dàn nhạc Sử dụng tương tự [số 8] Các công nghệ thời gian chạy container để cung cấp một môi trường phù hợp hơn cho sản xuất. Sử dụng nhiều trường hợp container Cho phép cập nhật cán [số 8] Cũng như phân phối trên các máy, làm cho việc triển khai của bạn kiên cường hơn để thay đổi và mất điện. Thông thường Docker. CLI nhắm mục tiêu một máy chủ và làm việc với các container riêng lẻ.

Một nền tảng mạnh mẽ cho các container

Docker cung cấp cho bạn tất cả mọi thứ bạn cần để làm việc với các container. Nó đã trở thành một công cụ chính để phát triển phần mềm và quản trị hệ thống. Các lợi ích chính được tăng cách ly và tính di động cho các dịch vụ riêng lẻ.

Làm quen với Docker đòi hỏi một sự hiểu biết về các khái niệm container và hình ảnh cơ bản. Bạn có thể áp dụng những thứ này để tạo ra hình ảnh và môi trường chuyên dụng của mình để chứa khối lượng công việc của bạn.


Linux - Các bài báo phổ biến nhất

Cách tiêu diệt các quy trình zombie trên Linux

Linux Nov 25, 2024

Fatmawati Achmad Zaenuri / Shutterstock [số 8] Các chương trình được viết kém hoặc thực hiện xấu có thể rời đi quy trình ..


The Best bản phân phối Linux Không systemd

Linux Feb 24, 2025

Bmj / shutterstock.com. [số 8] Khi các bản phân phối Linux chiếm ưu thế được thông qua SystemD. , những người khác thư�..


Làm thế nào để Hide All Desktop Icons trên Mac

Linux Jun 23, 2025

Krisda / Shutterstock. [số 8] Máy tính để bàn Mac của bạn là một mớ hỗn độn? Đừng thực sự muốn tổ chức tất cả mọi ..


Có gì trong GNOME 40 mới?

Linux Jul 23, 2025

GNOME Foundation [số 8] GNOME 40 có hơn một kế hoạch đánh số mới. Cùng với diện mạo mới của mình đến một phương pháp..


"gốc" trên Linux là gì?

Linux Jul 7, 2025

fatmawati achmad zaenuri / shutterstock.com [số 8] Người dùng gốc là thực thể mạnh nhất trong vũ trụ Linux với sức mạnh vô h�..


Cách quay lại kernel trong Linux

Linux Sep 30, 2025

fatmawati achmad zaenuri / shutterstock.com [số 8] Nếu PC Linux của bạn đột nhiên có vấn đề sau khi cập nhật hệ thống của b�..


Linux Hóa 30: Làm thế nào Một Sở thích dự án chinh phục thế giới

Linux Sep 17, 2025

Larry ewing và gimp [số 8] Trên Ngày 17 tháng 9 năm 1991 , Linus Torvalds đã phát hành Linux Kernel (phiên bản 0,01) lần đầu ..


Cách xử lý các không gian trong tên tệp trên Linux

Linux Dec 14, 2024

Giống như hầu hết các hệ điều hành, Linux hỗ trợ các tên tệp với không gian trong đó. Nhưng sử dụng các tên tệp này trên dòng lệnh không phải lúc n�..


Thể loại