Chuyển đến nội dung chính

18 lệnh Docker hàng đầu để Build, Run và quản lý containers

Hướng dẫn này phân tích các lệnh Docker thiết yếu—từ những điều cơ bản về container đến volumes và networking—giúp bạn tự tin quản lý ứng dụng trên nhiều môi trường!
Laiba Siddiqui
Laiba Siddiqui

Tạo tài khoản miễn phí của bạn

Luyện tập và Lộ trình tiến trình của bạn.

Tiếp tục với GoogleBằng cách tiếp tục, bạn chấp nhận Điều khoản sử dụng, Chính sách quyền riêng tư và việc dữ liệu của bạn được lưu trữ tại Hoa Kỳ.

Docker đã trở thành công cụ ưa thích của các nhà phát triển và chuyên gia dữ liệu khi cần build, chia sẻ và chạy ứng dụng nhất quán trên nhiều môi trường. Dù bạn đang khởi tạo containers cho phát triển cục bộ hay triển khai microservices trong môi trường production, việc thành thạo các lệnh Docker là điều cốt yếu.

Trong hướng dẫn này, tôi sẽ dẫn bạn qua 18 lệnh Docker quan trọng—bao quát images, containers, networking, volumes và Compose—giúp tăng tốc quy trình làm việc và khiến việc sử dụng Docker trơn tru, hiệu quả hơn.

Docker là gì?

Docker là một nền tảng để phát triển, phân phối và chạy ứng dụng. Nó cho phép bạn tách ứng dụng khỏi hạ tầng bên dưới, thúc đẩy tốc độ giao hàng phần mềm và quản lý thiết lập theo cùng cách bạn quản lý ứng dụng.

Docker chạy ứng dụng trong các môi trường biệt lập bằng gói nhẹ gọi là container, bao gồm mọi thứ ứng dụng cần để chạy, như dependencies và cài đặt, giúp tiết kiệm tài nguyên hệ thống. Chúng ta có thể dễ dàng chia sẻ containers với đồng đội, chạy đồng thời nhiều container và quản lý tất cả thông qua các công cụ và nền tảng của Docker.

Chúng ta có thể dùng Docker cho nhiều mục đích, bao gồm:

  • Triển khai và mở rộng linh hoạt.
  • Chạy nhiều khối lượng công việc hơn trên cùng phần cứng.
  • Phân phối ứng dụng nhanh, nhất quán.

Khi dùng Docker, chúng ta làm việc với các đối tượng Docker khác nhau như image, container, network, plugin và volume. Đây là các khối xây dựng của thiết lập Docker. Ở tầng nền, Docker dùng các tính năng của nhân Linux để mọi thứ hoạt động. Chúng ta tương tác bằng các lệnh đơn giản trong terminal, và mọi lệnh Docker đều bắt đầu với docker.

> Nếu bạn mới bắt đầu, khóa Introduction to Docker khóa cung cấp nền tảng thực hành để học các kiến thức cơ bản về container hóa.

Các lệnh Docker cơ bản

Giờ bạn đã biết Docker là gì và cách hoạt động, hãy xem một số lệnh phổ biến nhất. Chúng sẽ giúp bạn build, chạy và quản lý containers trong công việc hằng ngày.

docker --version và docker info

Trong các lệnh Docker, bất cứ thứ gì bắt đầu bằng -- được gọi là flag. 

Ví dụ, --version là một flag cho biết phiên bản Docker CLI bạn đang dùng. Bạn cũng có thể dùng docker version (không có flag) để nhận thông tin chi tiết phiên bản của tất cả thành phần Docker. 

Kết quả đầu ra được chia thành hai phần:

  • Client hiển thị thông tin về Docker CLI và các công cụ liên quan.
  • Server hiển thị chi tiết về Docker Engine và môi trường nó chạy.

Bạn cũng có thể định dạng đầu ra này bằng flag --format với một template tùy chỉnh.

Lệnh docker info cho bạn cái nhìn tổng quan đầy đủ về thiết lập Docker. Nó tương đương chạy docker system info nhưng tên ngắn hơn. Bạn sẽ thấy các thông tin như phiên bản kernel, số lượng containers và images, cùng các chi tiết toàn hệ thống khác. 

Tùy theo storage driver của bạn, bạn cũng có thể thấy thông tin như tên pool và tệp dữ liệu. Giống docker version, bạn có thể định dạng đầu ra bằng --format hoặc -f.

docker pull <image>

Lệnh pull tải xuống một Docker image từ registry, thường là Docker Hub, một thư viện công khai của các image dựng sẵn bạn có thể dùng mà không cần tự thiết lập. Bạn có thể chạy ở dạng docker pull <image> hoặc docker pull, cả hai đều làm cùng một việc.

  • Cú pháp đầy đủ như sau: docker image pull [OPTIONS] NAME[:TAG|@DIGEST]

Nếu bạn không chỉ định tag, Docker sẽ dùng mặc định :latest. Ví dụ:  docker image pull debian kéo image debian:latest.

Bạn cũng có thể thêm các tùy chọn sau lệnh để tùy chỉnh cách kéo image, như giới hạn băng thông hoặc bỏ qua xác minh image. Hình dưới cho thấy tất cả tùy chọn có sẵn và chức năng của chúng.

Options for the docker pull command

Các tùy chọn cho lệnh docker pull. Nguồn: Docker docs

docker run <image>

Lệnh docker run <image> tạo và khởi động một container mới từ image chỉ định, nghĩa là chạy image trong một container mới tinh. Đây là viết tắt của docker container run, và cả hai hoạt động giống nhau.

  • Đây là cú pháp cơ bản: docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

Nếu bạn đã chạy một container và muốn khởi động lại với toàn bộ thay đổi trước đó, dùng: docker start <container>.

Lệnh run có rất nhiều tùy chọn để tùy biến cách container chạy. Chúng ta sẽ đi qua một vài tùy chọn phổ biến kèm ví dụ:

Flag

Ví dụ lệnh

Mô tả

-- name

docker run --name test -d nginx:alpine

Đặt định danh tùy chỉnh cho container tên test sử dụng image nginx:alpine.

-w,--workdir

docker run -w /path/to/dir/ -i -t ubuntu pwd

Chạy lệnh được thực thi bên trong thư mục chỉ định, trong ví dụ này là /path/to/dir/

--pid

docker run --rm -it --pid=host alpine

Theo mặc định, tất cả containers có PID namespace được bật, cung cấp sự tách biệt tiến trình.

Ví dụ chạy một container alpine với tùy chọn --pid = host.

--cidfile

docker run --cidfile /tmp/docker_test.cid ubuntu echo "test"

Tạo một container và in một chuỗi test ra console

Flag cidfile khiến Docker cố gắng tạo một tệp mới và ghi ID container vào đó.

docker stop <container> và docker start <container>:

Lệnh docker start <container> khởi động một hoặc nhiều container đã dừng. Ví dụ, trong docker start my_container, my_container là tên container chúng ta muốn khởi động. Ta cũng có thể dùng bí danh: docker container start.

  • Cú pháp đầy đủ: docker container start [OPTIONS] CONTAINER [CONTAINER...]

Tương tự, docker stop dừng một hoặc nhiều container đang chạy. Ví dụ, trong docker stop my_container, my_container là tên một container đang chạy.

Nó cũng có bí danh: docker container stop. 

  • Cú pháp đầy đủ như sau: docker container stop [OPTIONS] CONTAINER [CONTAINER...]

Giống như start, lệnh stop có các tùy chọn để tùy chỉnh cách dừng containers. Chúng ta sẽ nêu một vài tùy chọn hữu ích tiếp theo:

Options for the docker stop command

Các tùy chọn cho docker stop. Nguồn: Docker docs

Làm việc với Docker Images

Image là nền tảng của mọi container. Trong phần này, chúng ta sẽ xem cách tạo, quản lý và kiểm tra Docker image bằng các lệnh phổ biến.

docker build

Lệnh docker build là một trong những tính năng được dùng nhiều nhất của Docker. Dù nó thuộc về hệ sinh thái rộng hỗ trợ các trường hợp nâng cao, chúng ta sẽ tập trung vào cách dùng nó để build một image từ Dockerfile đơn giản. 

Một Dockerfile là tệp văn bản thuần (không có phần mở rộng) chứa các hướng dẫn từng bước mà Docker dùng để build image. Cách tạo như sau:

  1. Trong thư mục gốc của ứng dụng, tạo tệp tên Dockerfile với nội dung sau:
# syntax=docker/dockerfile:1

FROM node:lts-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000

Dockerfile này bắt đầu với image nền tảng nhẹ bao gồm Node.js và Yarn. Nó sao chép mã nguồn ứng dụng của bạn vào image, cài đặt dependencies và định nghĩa cách khởi động ứng dụng.

  1. Bây giờ, build image bằng lệnh sau:
docker build -t getting-started.

Flag -t cho phép bạn gắn tag cho image. Trong trường hợp này, chúng ta đặt tên là getting-started. Dấu . ở cuối cho Docker biết tìm Dockerfile trong thư mục hiện tại.

docker images

Lệnh docker images liệt kê tất cả image top-level của bạn, cùng repository, tag và kích thước. Bạn cũng có thể dùng các bí danh:

  • docker image list
  • docker image ls

Cú pháp: docker image ls [OPTIONS] [REPOSITORY[:TAG]]

Lệnh này hỗ trợ nhiều tùy chọn. Ví dụ, để hiển thị tất cả images, bao gồm cả image trung gian, bạn có thể thêm flag -a hoặc --all như sau: docker images -a.

docker rmi <image>

Lệnh docker rmi <image> xóa một hoặc nhiều image khỏi hệ thống. Nếu một image có nhiều tag, chạy lệnh này với tag cụ thể sẽ chỉ xóa tag đó. Nhưng nếu tag là tag duy nhất liên kết với image, cả tag và image sẽ bị xóa.

Bạn cũng có thể dùng một trong các bí danh sau:

  • docker image remove
  • docker image rm

Cú pháp: docker image rm [OPTIONS] IMAGE [IMAGE...]

Nếu cần xóa image vẫn đang được một container chạy sử dụng, bạn sẽ phải ép bằng cách thêm tùy chọn -f hoặc --force.

Quản lý Docker Container

Chúng ta thường phải quản lý containers — khởi động, dừng, kiểm tra hoặc xóa chúng khi ứng dụng phát triển. Vì vậy, tôi sẽ hướng dẫn bạn các lệnh Docker hữu ích nhất để xử lý containers trong công việc hằng ngày.

docker exec <container> <command>

Lệnh docker exec cho phép bạn chạy một lệnh bên trong container đang chạy mà không cần khởi động lại nó. Nó đặc biệt hữu ích để gỡ lỗi hoặc kiểm tra thủ công bên trong container. Bạn cũng có thể dùng bí danh: docker container exec.

Lệnh chỉ hoạt động nếu tiến trình chính của container (PID 1) đang chạy. Nó không tự động chạy lại nếu container khởi động lại.

Cú pháp: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Có một số flag tùy chọn bạn có thể sử dụng. Ví dụ, --privileged cấp quyền mở rộng cho lệnh bên trong container. Để xem đầy đủ các tùy chọn, xem tài liệu chính thức.

Đây là ví dụ chạy một lệnh trên container:

docker exec -d mycontainer touch /tmp/execWorks

Lệnh touch tạo một tệp mới /tmp/execWorks bên trong container đang chạy mycontainer, ở chế độ nền.

docker logs <container>

Lệnh docker logs cho phép bạn xem log từ một container cụ thể và hiển thị mọi thứ được in ra standard output và error tại thời điểm thực thi. Bạn cũng có thể dùng bí danh: docker container logs

Cú pháp: docker container logs [OPTIONS] CONTAINER

Có một số tùy chọn hữu ích bạn có thể thêm. Ví dụ:

  • --details hiển thị các thuộc tính bổ sung như biến môi trường và nhãn.
  • --until cho phép bạn lấy log đến một thời điểm cụ thể.
  • docker logs -f --until=2s test theo dõi đầu ra log của container test và dừng sau khi hiển thị hai giây log cuối.

Dưới đây là tất cả tùy chọn có thể dùng với docker logs:

Options for docker log <container>

Các tùy chọn cho docker log <container>. Nguồn: Docker docs

docker rm <container>

Lệnh docker rm <container> xóa một hoặc nhiều container khỏi hệ thống. Bạn cũng có thể dùng các bí danh:

  • docker container remove
  • docker container rm

Cú pháp: docker container rm [OPTIONS] CONTAINER [CONTAINER...]

Lệnh này có một vài flag tùy chọn bạn có thể dùng. Dưới đây là một số:

Options for docker rm <container>

Các tùy chọn cho docker rm <container>. Nguồn: Docker docs

Ví dụ, bạn có thể dùng docker rm /redis để xóa container được nhận diện bởi liên kết /redis. Tuy nhiên, lưu ý rằng lệnh này chỉ xóa các container đang chạy. 

Nếu bạn muốn xóa các container đã dừng, bạn cần dùng docker container prune. Để giữ môi trường sạch, hãy học cách xóa an toàn tài nguyên Docker không dùng đến với hướng dẫn Docker prune này.

docker restart <container>

Lệnh docker restart <container> dừng rồi khởi động lại một hoặc nhiều container. Bạn cũng có thể dùng bí danh: docker container restart. 

Cú pháp: docker restart [OPTIONS] CONTAINER [CONTAINER...]

Lệnh restart có một số tùy chọn hữu ích để tùy chỉnh việc khởi động lại container. Dưới đây là cả hai tùy chọn, kèm ví dụ.

Tùy chọn

Mô tả

Ví dụ

-s, --signal

Tín hiệu gửi đến container.

docker restart -s SIGTERM mycontainer

-t, --timeout

Số giây chờ trước khi kill container.

docker restart -t 10 mycontainer

> Để thực hành trực quan, khám phá những ý tưởng dự án Docker từ cấp độ mới bắt đầu đến nâng cao.

Docker Networking

Kết nối mạng cho container cho phép giao tiếp giữa các container và khối lượng công việc bên ngoài. Theo mặc định, container được bật networking và có thể tạo kết nối đi, nhưng chúng không tự biết đang ở loại mạng nào hay kết nối với khối lượng công việc nào khác.

Trừ khi bạn dùng driver mạng none (tắt networking), containers có thể tương tác với các thành phần mạng như địa chỉ IP, gateway và DNS. 

Hãy khám phá một số lệnh networking của Docker mà bạn có thể dùng.

docker network ls

Lệnh docker network ls liệt kê tất cả mạng mà Docker Engine biết, bao gồm trên nhiều host trong một cụm. Bí danh của nó là: docker network list.

  • Đây là cú pháp: docker network ls [OPTIONS]

Bạn có thể dùng nhiều tùy chọn với lệnh này, như minh họa ở hình dưới: 

Theo mặc định, lệnh này hiển thị cho mỗi mạng:

  • ID
  • Tên
  • Driver
  • Phạm vi (Scope)

Bạn có thể dùng các flag để tùy chỉnh đầu ra. Ví dụ, flag --no-trunc hiển thị đầy đủ ID mạng thay vì dạng rút gọn. Cách dùng như sau:

docker network ls --no-trunc

docker network create <tên-mạng>

Lệnh docker network create tạo một mạng Docker mới. Theo mặc định, nó dùng driver bridge trừ khi bạn chỉ định driver khác với flag --driver (hoặc -d).

Docker hỗ trợ các driver mạng tích hợp như:

  • bridge cho mạng đơn host.
  • overlay cho mạng đa host trong chế độ Swarm.

Bạn cũng có thể dùng driver của bên thứ ba hoặc tùy chỉnh nếu cần.

  • Đây là cú pháp cơ bản: docker network create [OPTIONS] NETWORK

Lệnh cung cấp nhiều tùy chọn cho các mục đích khác nhau. Xem tài liệu chính thức để xem danh sách đầy đủ tùy chọn.

Đây là ví dụ tạo mạng bridge:

docker network create -d bridge my-bridge-network

Mạng bridge bị giới hạn trong một Docker Engine, vì vậy sẽ không kết nối containers giữa các host khác nhau.

Khi bật chế độ Swarm, bạn có thể tạo một mạng trải trên nhiều Docker host:

docker network create --scope=swarm --attachable -d overlay my-multihost-network

> Muốn biết Docker khác Kubernetes thế nào? Bài phân tích về Kubernetes vs Docker trình bày các khác biệt chính và trường hợp sử dụng.

Docker Volumes

Docker volume dùng để lưu trữ dữ liệu cần tồn tại lâu dài, ngay cả khi container dừng hoặc bị xóa. Bạn có thể tạo rõ ràng hoặc để Docker tự động tạo khi khởi động container.

Volumes được lưu trên hệ thống host nhưng tách biệt khỏi các tệp lõi của host. Chúng được mount vào containers tương tự bind mounts nhưng có tính di động và bảo mật tốt hơn. 

Hãy khám phá một số lệnh volume của Docker liên quan: 

docker volume ls

Lệnh docker volume ls liệt kê tất cả volumes mà Docker biết. Bạn cũng có thể dùng bí danh: docker volume list.

  • Cú pháp: docker volume ls [OPTIONS]

Lệnh này hỗ trợ một vài flag tùy chọn giúp bạn lọc hoặc định dạng đầu ra — như dưới đây:

Options for the docker volume ls command.

Các tùy chọn cho lệnh docker volume ls. Nguồn: Docker docs

docker volume create <tên-volume>

Lệnh docker volume create tạo một volume mới để lưu trữ dữ liệu bền vững. Nếu bạn không cung cấp tên, Docker sẽ tự động tạo một tên cho bạn.

Việc tạo volumes là bước phổ biến khi bạn muốn dữ liệu tồn tại lâu hơn vòng đời của một container đơn lẻ.

  • Đây là cú pháp: docker volume create [OPTIONS] [VOLUME_NAME]

Hãy xem ví dụ tạo một volume rồi cấu hình container để dùng nó:

docker volume create hello
docker run -d -v hello:/world busybox ls /world

Trong ví dụ này, một volume tên hello được tạo. Sau đó, nó được mount vào container tại đường dẫn /world. Điều này cho phép container ghi hoặc đọc dữ liệu từ volume đó.

Nhiều container có thể dùng chung một volume, hữu ích khi một container cần ghi dữ liệu trong khi container khác đọc.

Lưu ý: Tên volume phải là duy nhất giữa các driver. Bạn không thể dùng cùng một tên volume trên hai storage driver khác nhau.

Các lệnh Docker Compose

Docker Compose giúp quản lý ứng dụng nhiều container dễ dàng bằng một tệp YAML đơn giản. Nó hỗ trợ các môi trường khác nhau như phát triển, kiểm thử, staging, production và CI. Chỉ với một lệnh, bạn có thể điều khiển services, thiết lập networks và quản lý volumes — tất cả tại một nơi.

Hãy khám phá một số lệnh compose phổ biến: 

docker-compose up

Lệnh docker compose up build, (tạo lại) tạo, khởi động và attach vào containers cho một service. Nếu containers chưa chạy, lệnh cũng tự động khởi động các service liên kết.

  • Đây là cú pháp: docker compose up [OPTIONS] [SERVICE...]

Theo mặc định, lệnh này gộp đầu ra của tất cả containers. Nếu bạn muốn tập trung vào các service cụ thể, bạn có thể:

  • Dùng flag --attach để attach vào các service nhất định
  • Dùng flag --no-attach để loại trừ các service khác

Ví dụ, docker compose up --no-attach <service-name> khởi động tất cả services trừ service bạn loại khỏi log.

Khi lệnh kết thúc, containers cũng dừng. Để giữ chúng chạy nền, dùng flag --detach: 

docker compose up --detach

Trước khi chạy lệnh này, hãy đảm bảo bạn đã di chuyển (cd) tới thư mục chứa tệp docker-compose.yml.

docker-compose down

Lệnh docker compose down dừng containers và xóa containers, images, networks và volumes được tạo bởi docker compose up. 

  • Cú pháp: docker compose down [OPTIONS] [SERVICES]

Bạn có thể dùng nhiều tùy chọn với lệnh này, bao gồm các tùy chọn sau:

Options for the docker compose down command.

Các tùy chọn cho lệnh docker compose down. Nguồn: Docker docs.

Theo mặc định, lệnh xóa các thành phần sau:

  • Containers cho các service được định nghĩa trong tệp Compose.
  • Networks được định nghĩa trong phần networks của tệp Compose.
  • Mạng mặc định, nếu có dùng.

Các thành phần sau không bị xóa theo mặc định:

  • Networks và volumes được định nghĩa là external.
  • Anonymous volumes, tức các volume không có tên.

Anonymous volumes không được mount tự động khi bạn chạy docker compose up lần nữa vì chúng không có tên. Nếu bạn cần lưu trữ dữ liệu bền vững, tốt hơn nên dùng named volumes hoặc bind mounts.

Thực hành tốt khi dùng các lệnh Docker

Docker là cách mạnh mẽ để build, phân phối và chạy ứng dụng trong containers. Nhưng để dùng tốt và đảm bảo thiết lập hiệu quả, dễ mở rộng, bạn cần tuân theo một số thực hành tốt.

Dùng Docker volumes cho dữ liệu bền vững

Theo mặc định, tệp của container được lưu trong một lớp ghi (writable layer) sẽ mất khi container bị xóa! Lớp này là duy nhất cho mỗi container và không dễ truy cập. Docker dùng các loại mount khác nhau để duy trì dữ liệu, một trong số đó là volumes, do Docker daemon quản lý và lưu trên host. 

Volumes cho phép chúng ta:

  • Giữ dữ liệu ngay cả sau khi container bị xóa.
  • Lưu dữ liệu quan trọng về hiệu năng với tốc độ cấp độ host.
  • Quản lý lưu trữ dễ dàng thông qua Docker.

Chúng lý tưởng cho dữ liệu dài hạn hoặc khi nhiều container cần chia sẻ truy cập. Chỉ cần lưu ý rằng nếu bạn cần truy cập tệp trực tiếp từ host, bind mounts có thể phù hợp hơn, vì volumes được Docker quản lý hoàn toàn.

Tự động hóa với Docker Compose

Việc quản lý thủ công nhiều container có thể trở nên quá tải. Docker Compose đơn giản hóa bằng cách cho phép bạn định nghĩa mọi thứ trong một tệp YAML duy nhất để bạn tập trung vào việc xây dựng.

Vì sao đây là thực hành tốt đáng theo:

  • Một lệnh đơn giản: Khởi động, dừng, scale hoặc rebuild services của bạn trong một lần.
  • Nhất quán cho mọi người: Dù bạn làm ở môi trường phát triển, kiểm thử hay production, Compose giữ các môi trường đồng bộ để tránh vấn đề “chạy ổn trên máy tôi”.
  • Networking tích hợp: Compose tạo mạng dùng chung để các service dễ dàng giao tiếp bằng tên service thay vì IP.
  • Dễ dàng mở rộng: Bạn có thể nhanh chóng scale services lên/xuống với flag --scale, rất hữu ích để kiểm thử độ chịu tải khác nhau.
  • Cấu hình rõ ràng, dễ cộng tác: Toàn bộ thiết lập của bạn, gồm containers, networks và volumes, được quản lý phiên bản và dễ đọc.

Kết luận

Docker có thể ban đầu hơi nhiều, nhưng khi bạn nắm vững các lệnh cốt lõi, nó mở ra rất nhiều khả năng. Từ việc chạy container đầu tiên đến quản lý networks, volumes và services, giờ bạn đã sẵn sàng hơn để tự tin build và vận hành ứng dụng container hóa.

Và nếu bạn muốn tiếp tục học, dưới đây là vài tài nguyên tuyệt vời để khám phá tiếp:

Câu hỏi thường gặp

Những lệnh Docker nào được dùng nhiều nhất?

Một số lệnh Docker phổ biến nhất gồm docker run, docker ps, docker build, docker pull và docker-compose up.

Docker volumes khác gì với bind mounts?

Docker volume được Docker quản lý và lý tưởng cho tính di động cùng lưu trữ bền vững dữ liệu, trong khi bind mount liên kết tới một đường dẫn tệp cụ thể trên hệ thống host.

Tôi có thể chạy nhiều container chỉ với một lệnh không?

Có, dùng docker-compose up với tệp docker-compose.yml cho phép bạn chạy nhiều service đồng thời.

Sự khác nhau giữa docker start và docker run là gì?

docker run tạo và khởi động một container mới, trong khi docker start khởi động lại một container đã tồn tại và đang dừng.

Làm sao để liệt kê tất cả containers đã dừng?

Dùng docker ps -a để xem tất cả containers, bao gồm cả những cái đã dừng.

Mục đích của lệnh docker exec là gì?

Nó cho phép bạn chạy lệnh bên trong container đang chạy, thường dùng để gỡ lỗi hoặc kiểm tra thủ công.

Docker chỉ dành cho hệ thống dựa trên Linux thôi sao?

Không. Docker cũng hỗ trợ macOS và Windows, sử dụng các máy ảo nhẹ để kích hoạt container hóa.

Lệnh docker-compose down làm gì?

Nó dừng và xóa containers, networks và volumes được tạo bởi docker-compose up.

Làm sao để xóa các Docker image dangling?

Chạy docker image prune để dọn dẹp các image không dùng và giải phóng dung lượng đĩa.

Docker có thể dùng trong môi trường production không?

Chắc chắn rồi. Docker được sử dụng rộng rãi trong production để triển khai ứng dụng có thể mở rộng và tái lập trên đám mây và tại chỗ.

Laiba Siddiqui

Tác giả

Laiba Siddiqui

Tôi là một chiến lược gia nội dung, yêu thích việc đơn giản hóa các chủ đề phức tạp. Tôi đã giúp các công ty như Splunk, Hackernoon và Tiiny Host tạo nội dung hấp dẫn và giàu thông tin cho khán giả của họ.

Chủ đề

Liên quan