• Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • DDOS
    • Kali Linux / Parrot
    • SQL Injection
    • Virus-Trojan-Rat
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
  • Tin tức
  • Kiến thức
AnonyViet
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • DDOS
    • Kali Linux / Parrot
    • SQL Injection
    • Virus-Trojan-Rat
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
  • Tin tức
  • Kiến thức
No Result
View All Result
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • DDOS
    • Kali Linux / Parrot
    • SQL Injection
    • Virus-Trojan-Rat
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
  • Tin tức
  • Kiến thức
No Result
View All Result
AnonyViet
No Result
View All Result

Docker là gì? Và cách sử dụng Docker

Jun Phạm by Jun Phạm
24/11/2020
in Mạng cơ bản
0

Mục lục bài viết

  1. Docker là gì?
  2. Tại sao bạn nên làm quen với docker?
  3. Cách làm việc với Docker
    1. Images
    2. container
  4. Kết luận

Sức mạnh của Docker chính là container. Container là một khái niệm đã xuất hiện trên Linux trong nhiều năm qua. Nó ám chỉ một hoặc nhiều quy trình được tách biệt với phần còn lại của hệ thống, hiểu đơn giản là cách ly quy trình với hệ thống thực, về cơ bản thì nó giống máy ảo. Các container có tất cả các tệp chúng cần để chạy các quá trình đó độc lập với hệ thống, đó là lý do tại sao chúng trở thành một công cụ được sử dụng rất phổ biến để deployments.docker

Docker đã mang sức mạnh của các container Linux này đến với mọi người và đó là lý do tại sao chúng được sử dụng trong các môi trường production khác nhau.

Các bài viết liên quan

Các kiểu dữ liệu cơ bản trong Python 5

Các kiểu dữ liệu cơ bản trong Python

12/01/2021
Cách đặt lịch chạy file Batch (CMD) trên Windows 6

Cách đặt lịch chạy file Batch (CMD) trên Windows

02/01/2021
Mac Apple M1 hiện đã có thể chạy Linux và Windows 7

Mac Apple M1 hiện đã có thể chạy Linux và Windows

05/12/2020
Các lý do mình thích và không thích Linux 8

Các lý do mình thích và không thích Linux

26/11/2020

Docker giải quyết một vấn đề mà nhiều nhà phát triển phải đau đầu khi làm việc trên nhiều hệ thống. container giúp ứng dụng có thể chạy nhất quán trên bất kỳ hệ điều hành nào mà không phải lo lắng về các lỗi của môi trường phát triển và cấu hình khác nhau.

Docker là gì?

Bây giờ nói gọn là vậy: docker sẽ giúp gom nhóm các ứng dụng đã được cài đặt, khi muốn triển khai một project nào đó, chỉ cần gọi docker đó lên và khỏi cần cài lại mấy ứng dụng đã có sẵn trong docker. Ví dụ: bạn đã cài sẵn php, apche, ftp…, sau này muốn triển khai project khác thì chỉ cần kiu thằng docker ra, khỏi phải cài lại php, apche, ftp… nửa.

Còn khái niệm tổng quát về Docker là như thế này:

Docker là một công cụ mã nguồn mở xử lý vòng đời (lifecycle) của các container. Nó được sử dụng để đơn giản hóa cách bạn xây dựng và deploy trong quá trình phát triển. Điều đó có nghĩa là bạn có thể các container có tất cả dependencies mà bạn cần để chạy ứng dụng của mình và quản lý nó cho đến khi kết thúc quá trình phát triển.

Xem thêm:  Godot Engine - Game Engine Đáng Để Lập Trình Game Cho Người Mới

Tùy thuộc vào nhu cầu của bạn, Docker container có thể được sử dụng để thay thế máy ảo. Máy ảo sử dụng nhiều tài nguyên hơn các container vì chúng cần một bản sao ảo của hệ điều hành và phần cứng nó cần để chạy. Và nó cũng chiếm hơi nhiều RAM nữa.

Docker container chỉ cần một bản sao ảo của hệ điều hành. Nó sẽ sử dụng tất cả các tài nguyên của máy chủ vật lý, vì vậy chúng không cần phải chia phần cứng để sử dụng như máy ảo.

Điều đó có nghĩa là container siêu nhẹ và có thể được sử dụng trên bất kỳ cấu hình hệ thống nào mà vẫn có thể chạy ứng dụng chính xác khi deploy trên local.

Với Docker, bạn có thể sử dụng container để phát triển trên local, sau đó chia sẻ container đó với các nhà phát triển khác và sử dụng cùng một container đó để deploy sản phẩm. Khi mọi thứ đã sẵn sàng, bạn có thể triển khai ứng dụng của mình dưới dạng container hoặc dưới dạng dịch vụ được điều phối và nó sẽ chạy chính xác theo cách mà nó đã làm trên local.

Tại sao bạn nên làm quen với docker?

Container giúp giải quyết vấn đề như “nó chạy trên máy tui bình thường mà”. Các nhà phát triển có thể chia sẻ container image, build, và run cùng container trên các máy khác nhau. Khi bạn có thể chạy code một cách nhất quán mà không cần lo lắng về môi trường cài đặt trên local, thì bạn có thể phát triển ứng dụng trên bất kỳ máy nào mà không cần phải thay đổi một loạt các cấu hình của máy đó để giống hệt local của bạn.

Xem thêm:  Các lệnh cơ bản dành cho VPS và Máy chủ Linux

Làm việc với các Docker container cũng giúp việc triển khai (deploy) trên mọi môi trường dễ dàng hơn. Bạn không phải tính đến việc tiêu thụ thêm tài nguyên khi sử dụng máy ảo. Điều này sẽ giúp cải thiện hiệu suất và độ tin cậy của ứng dụng bằng cách cung cấp cho bạn một công cụ cho phép bạn quản lý tất cả các thay đổi mà code và container trong suốt quá trình phát triển.

Cách làm việc với Docker

Có một số thứ chính bạn cần phải nắm rõ khi làm việc với Docker là images và container.

Images

Docker images là các mẫu để tạo container. Docker có chỉ định các packages và môi trường máy chủ cấu hình sẵn nào dùng để chạy ứng dụng của bạn. Images được tạo từ một tập hợp các tệp được sử dụng để xây dựng các chức năng của container.

Các tệp này bao gồm dependencies, code cho ứng dụng và bất kỳ cài đặt nào khác mà bạn cần. Có một số cách để tạo một images mới. Bạn có thể lấy một container đang chạy và thay đổi một số thứ để lưu nó dưới dạng images mới hoặc bạn có thể tạo images mới ngay từ đầu bằng cách tạo Dockerfile mới.

Chúng ta sẽ xem qua Docker image bên dưới và phân tích nó. Hãy bắt đầu bằng cách tạo Dockerfile để chạy một ứng dụng React.

# pull official base image
FROM node:alpine3.12

# set working directory
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install
RUN npm install [email protected] -g

EXPOSE 3000

# add app
COPY . ./

# start app
CMD ["npm", "start"]

Đầu mỗi dòng trong tệp này là một từ khóa được sử dụng trong Docker để giúp nó hiểu phải làm gì. Trong tệp này, mình tạo base image cho Node để thiết lập môi trường mà mình cần để chạy ứng dụng React. Sau đó, mình tạo thư mục làm việc cho container.

Đây là nơi code ứng dụng sẽ được giữ trong container. Sau đó, bạn hãy đặt đường dẫn cho nơi các dependencies sẽ được cài đặt và tiếp tục cài đặt các dependencies được liệt kê trong packge.json của bạn. Tiếp theo, mình nói với Docker rằng container đang listening trên cổng 3000. Cuối cùng, bạn thêm ứng dụng vào đúng thư mục và khởi động nó.

Xem thêm:  Hướng dẫn cài Ubuntu song song với Windows 7/8/10 UEFI và GPT

Bây giờ chúng ta có thể xây dựng images bằng lệnh Docker:

docker build -t local-react:0.1 .

Đừng quên dấu “.” ở cuối dòng! Nó cho Docker biết bạn đang xây dựng images từ các tệp và thư mục trong thư mục làm việc hiện tại.

container

Bây giờ bạn đã xây dựng một images thành công, bạn có thể tạo một container với nó. Chạy images của bạn dưới dạng container bằng cách sử dụng lệnh Docker này:

docker run --publish 3000:3000 --detach --name lr local-react:0.1

Lệnh này lấy images của bạn và chạy nó như một container. Quay lại images, bạn đã thiết lập sẵn cổng 3000 của container có sẵn bên ngoài chính là container đó. Với –publish, bạn đang chuyển tiếp lưu lượng truy cập từ cổng 3000 của hệ thống sang container. Chúng ta phải làm như vậy, bởi vì nếu không tường lửa sẽ ngăn không cho tất cả lưu lượng mạng đến container của bạn.

–detach chạy container trong background của terminal. Điều đó có nghĩa là nó không lấy bất kỳ dữ liệu đầu vào hoặc đầu ra hiển thị nào. Đây là một tùy chọn phổ biến, nhưng bạn luôn có thể gắn container vào lại terminal nếu bạn cần sau này. –name cho phép bạn cung cấp tên cho container mà bạn sẽ cần cho các câu lệnh sau này. Trong trường hợp này, container được tạo tên là lr.

Bây giờ bạn đã có thể truy cập vào localhost: 3000 và xem ứng dụng của bạn đang chạy.

Kết luận

Docker có thể không được sử dụng ở mọi nơi, nhưng nó là một công nghệ phổ biến mà bạn nên biết. Nó giúp việc phát triển trên các hệ thống khác nhau thuận tiện hơn.

Tags: containerdockerlập trìnhlinuxứng dụng
Previous Post

Hướng dẫn nâng cấp iCloud 50GB 9 tháng miễn phí của Apple

Next Post

5 công nghệ đang định nghĩa lại ngành công nghiệp game

Jun Phạm

Jun Phạm

Có người không dám bước vì sợ gãy chân, nhưng sợ gãy chân mà không dám bước đi thì khác nào chân đã gãy.

Related Posts

leaked db password MOSINT
Mạng cơ bản

MOSINT – Tool Truy vết địa chỉ Email để tìm thông tin cá nhân của bất kỳ ai

14/01/2021
vps google colab free
Mạng cơ bản

Hướng dẫn tạo VPS bằng Google Colab miễn phí

30/12/2020
Nên chọn Parrot OS hay Kali Linux để học Hack? 9
Mạng cơ bản

Nên chọn Parrot OS hay Kali Linux để học Hack?

26/12/2020
reg domain .EU miễn phí 1 năm
Mạng cơ bản

Tut đăng ký Tên miền .ONLINE, .STORE, .EU miễn phí 1 năm

25/12/2020 - Updated on 26/12/2020
cach tao website onion dark web deep web
Mạng cơ bản

Cách tạo Website trên Dark Web và Deep Web

20/12/2020 - Updated on 21/12/2020
Red Team và Blue Team trong An ninh mạng là gì? 10
Mạng cơ bản

Red Team và Blue Team trong An ninh mạng là gì?

15/12/2020
Next Post
cong nghiep game

5 công nghệ đang định nghĩa lại ngành công nghiệp game

guest
guest

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

0 Comments
Inline Feedbacks
View all comments

Liên hệ Quảng Cáo

Lien he AnonyViet

Đối tác

Fshare

Các bài mới

setup Absorber keylogger

Cách dùng Absorber Keylogger bí mật ghi lại thao tác bàn phím

15/01/2021
leaked db password MOSINT

MOSINT – Tool Truy vết địa chỉ Email để tìm thông tin cá nhân của bất kỳ ai

14/01/2021
kiem tra tin nhan signal

Cách kiểm tra tin nhắn Signal đã an toàn và riêng tư chưa?

14/01/2021
ung dung nhan tin pho bien signal

Signal là gì? Tại sao bạn nên dùng Signal để nhắn tin

13/01/2021
Nên chọn Signal hay Telegram để thay thế WhatsApp trong năm 2021? 11

Nên chọn Signal hay Telegram để thay thế WhatsApp trong năm 2021?

13/01/2021

Ads

Giới thiệu

AnonyViet

AnonyViet

Nơi chia sẻ những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến AnonyViet.

Hãy cùng AnonyViet xây dựng một cộng đồng CNTT lớn mạnh nhất!

Giới thiệu

AnonyViet là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. AnonyViet cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

Liên kết

Game B52 |  Tải game đổi thưởng online | Chơi game bài hot 2020 | Chơi game bài đổi thưởng online | Gam Víp | 88vin link

Liên hệ đặt Ads: [email protected]

Liên hệ

Email: anonyviet.com[@]gmail.com

1409 Hill Street #01-01A
Old Hill Street Police Station
Singapore 179369

Bài viết mới

  • Cách dùng Absorber Keylogger bí mật ghi lại thao tác bàn phím
  • MOSINT – Tool Truy vết địa chỉ Email để tìm thông tin cá nhân của bất kỳ ai
  • Cách kiểm tra tin nhắn Signal đã an toàn và riêng tư chưa?
  • Signal là gì? Tại sao bạn nên dùng Signal để nhắn tin
  • Nên chọn Signal hay Telegram để thay thế WhatsApp trong năm 2021?
  • Cách chặn kênh Youtube bằng Channel Blocker
  • Giới thiệu về AnonyViet
  • Liên hệ Quảng cáo
  • Privacy & Policy
  • Contact

© 2019 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về Công nghệ.

No Result
View All Result
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • DDOS
    • Kali Linux / Parrot
    • SQL Injection
    • Virus-Trojan-Rat
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
  • Tin tức
  • Kiến thức

© 2019 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về Công nghệ.

wpDiscuz