Làm cách nào để chạy phiên bản Docker từ Dockerfile?

Lam Cach Nao De Chay Phien Ban Docker Tu Dockerfile



Docker là một nền tảng mở phổ biến, được sử dụng phổ biến để xây dựng, thử nghiệm, triển khai và vận chuyển các ứng dụng trong môi trường được đóng gói. Docker sử dụng cấp độ ảo hóa của hệ điều hành và hỗ trợ các thành phần khác nhau như bộ chứa Docker, hình ảnh, mạng và khối lượng Docker.

Bộ chứa Docker là một trong những thành phần thiết yếu của nền tảng Docker đóng gói chương trình, cài đặt cấu hình và phần phụ thuộc bằng hình ảnh Docker. Hình ảnh Docker là một mẫu đơn giản hoặc ảnh chụp nhanh của vùng chứa hướng dẫn vùng chứa cách chứa một ứng dụng. Những hình ảnh này hầu hết có sẵn trên sổ đăng ký trung tâm Docker chính thức. Người dùng cũng có thể thiết kế những hình ảnh này theo yêu cầu của dự án bằng Dockerfile.

Blog này sẽ giải thích:







Dockerfile là gì?

Dockerfile là một tệp văn bản bình thường chứa các lệnh và hướng dẫn xác định cấu trúc cơ bản của vùng chứa Docker. Các hướng dẫn này có thể được thực thi trong thiết bị đầu cuối mà không cần bất kỳ tệp nào nhưng chạy từng lệnh một là một nhiệm vụ phức tạp và bận rộn. Dockerfile giúp nhà phát triển dễ dàng chỉ định tất cả các yêu cầu và hướng dẫn vào một tệp. Sau đó, tệp này sẽ được sử dụng để xây dựng mẫu vùng chứa là hình ảnh Docker. Sau đó, hình ảnh docker được thực thi để khởi động phiên bản trong vùng chứa Docker.



Các lệnh cơ bản của Dockerfile

Một số lệnh cơ bản của Dockerfile được sử dụng để xác định ảnh chụp nhanh cơ bản của vùng chứa được liệt kê bên dưới dưới dạng bảng:



Lệnh Sự miêu tả
TỪ Các ' TỪ Lệnh ” được sử dụng để xác định hình ảnh cơ sở cho mẫu vùng chứa. Những hình ảnh này được lấy từ Docker Hub đăng ký Docker chính thức.
NGƯỜI BẢO TRÌ Các ' NGƯỜI BẢO TRÌ Lệnh ” xác định thông tin tác giả (Tên và Email), người đang tạo hình ảnh Docker.
WORKDIR Nó chỉ định thư mục làm việc của một ứng dụng được chứa.
SAO CHÉP Được sử dụng để sao chép các tệp nguồn và cấu hình từ hệ thống máy chủ sang đường dẫn được chỉ định của vùng chứa Docker.
THÊM VÀO Các ' THÊM VÀO Lệnh ” tương tự như lệnh “ SAO CHÉP ” nhưng nó cũng hỗ trợ URL từ xa để thêm tệp từ URL vào đường dẫn vùng chứa, chẳng hạn như từ kho lưu trữ GitHub vào đường dẫn vùng chứa.
CHẠY Các ' CHẠY ” được sử dụng để chạy các lệnh trong vùng chứa. Trong Dockerfile, nó chủ yếu được sử dụng để quản lý và cài đặt các phần phụ thuộc bổ sung bên trong vùng chứa.
CMD CMD ” xác định các điểm mặc định của vùng chứa Docker. Về cơ bản, nó xác định các thông số thực thi và mặc định của “ ĐIỂM VÀO ”.
ĐIỂM VÀO Các ' ĐIỂM VÀO Lệnh ” cũng được sử dụng để thiết lập các tệp thực thi của vùng chứa Docker. Về cơ bản, nó đặt các ứng dụng mặc định được sử dụng trong vùng chứa mọi lúc. Lệnh ENTRYPOINT cũng được sử dụng một lần trong Dockerfile.
NGƯỜI DÙNG Lệnh này dùng để thiết lập UID (tên người dùng) thực thi các lệnh trong Container
ÂM LƯỢNG Các ' ÂM LƯỢNG Lệnh ” được sử dụng để liên kết hoặc gắn kết ổ đĩa (hệ thống tệp) bên ngoài với một thùng chứa.
ENV Các ' ENV Lệnh ” được sử dụng để đặt các biến môi trường của vùng chứa.
ARG Các ' ARG ” được sử dụng để truyền các đối số bên trong vùng chứa.
PHƠI RA Các ' PHƠI RA Lệnh ” chỉ định các cổng hiển thị mà vùng chứa sẽ được thực thi trên đó.
ĐANG XÂY DỰNG Nó đọc hướng dẫn từ hình ảnh cơ sở nhưng kích hoạt các hướng dẫn này thông qua hình ảnh xuôi dòng.
NHÃN Các ' NHÃN ” được sử dụng để chỉ định siêu dữ liệu của ảnh chụp nhanh vùng chứa.

Làm cách nào để chạy phiên bản Docker từ Dockerfile trong Docker?

Để chạy phiên bản hoặc vùng chứa Docker bằng Dockerfile, trước tiên, hãy tạo Dockerfile. Sau đó, tạo ảnh chụp nhanh cơ bản cho vùng chứa bằng Dockerfile. Sau đó, chạy ảnh chụp nhanh để khởi động phiên bản Docker.





Thực hiện theo các hướng dẫn dưới đây để minh họa.

Bước 1: Tạo tệp Docker

Đầu tiên, tạo một Dockerfile. Hãy nhớ rằng Dockerfile không có bất kỳ phần mở rộng tệp nào. Sau đó, dán các lệnh sau vào tệp:



TỪ golang: 1.8

WORKDIR / đi / src / ứng dụng

SAO CHÉP main.go .

CHẠY đi xây dựng -O máy chủ web .

PHƠI RA 8080 : 8080

ĐIỂM VÀO [ './máy chủ web' ]

Bước 2: Tạo tệp chương trình

Tiếp theo, tạo một tệp mới có tên “ main.go ” chứa chương trình Golang đơn giản. Với mục đích này, hãy dán chương trình sau vào tệp:

gói chính
nhập khẩu (
'fmt'
'nhật ký'
'mạng/http'
)

xử lý chức năng ( TRONG http.ResponseWriter, r * http.Yêu cầu ) {
fmt.Fprintf ( TRONG , 'Xin chào! Chào mừng bạn đến với Hướng dẫn LinuxHint' )
}
chức năng chính ( ) {
http.HandleFunc ( '/' , xử lý )
log.Fatal ( http.ListenAndServe ( '0.0.0.0:8080' , không ) )
}

Bước 3: Tạo ảnh chụp nhanh vùng chứa

Bây giờ, hãy xây dựng ảnh chụp nhanh Docker của vùng chứa bằng cách sử dụng “ docker build -t -f . ”:

docker xây dựng -t go-img -f Dockerfile .

Trong lệnh trên, “ -t ” tùy chọn đặt tên hoặc thẻ của hình ảnh, “ -f Tùy chọn ” chỉ định đường dẫn đến Dockerfile mà công cụ Docker cần đọc ngữ cảnh xây dựng:

Để kiểm tra xem hình ảnh đã được tạo thành công hay chưa, hãy chạy lệnh “ hình ảnh docker ' yêu cầu:

hình ảnh docker go-img

Kết quả đầu ra cho thấy chúng ta đã tạo thành công ảnh chụp nhanh của vùng chứa từ Dockerfile:

Bước 4: Chạy Ảnh chụp nhanh để kích hoạt vùng chứa

Bây giờ, hãy khởi động phiên bản Docker trong vùng chứa Docker bằng cách thực thi ảnh chụp nhanh của vùng chứa được tạo ở bước trên:

docker chạy -P 8080 : 8080 --tên tiếp tục -d go-img

Trong lệnh trên, “ -P Tùy chọn ” chạy container trên “ 8080 ' Hải cảng, ' -tên ” đặt tên vùng chứa và “ -d Tùy chọn ” chạy container ở chế độ tách rời (dịch vụ nền):

Để xác minh xem vùng chứa có đang thực thi hay không, hãy liệt kê các vùng chứa đang chạy bằng cách sử dụng “ docker ps ' yêu cầu:

docker ps

Bây giờ, hãy điều hướng đến “ http://localhost:8080 ” và xác minh xem ứng dụng có đang chạy trên cổng lộ ra hay không:

Kết quả đầu ra ở trên cho thấy rằng chúng ta đã khởi động phiên bản Docker bằng cách sử dụng Dockerfile một cách hiệu quả.

Làm cách nào để chạy một phiên bản từ Dockerfile trong Docker Compose?

Docker soạn thảo là một plugin chính khác của nền tảng Docker cho phép chúng tôi chạy nhiều phiên bản trong các vùng chứa khác nhau cùng một lúc. Người dùng cũng có thể chạy phiên bản Docker từ Dockerfile bằng cách sử dụng plugin soạn thảo Docker. Để minh họa, hãy làm theo các bước đã cho.

Bước 1: Tạo Dockerfile

Đầu tiên, tạo một Dockerfile. Ví dụ: chúng tôi đang sử dụng cùng một tệp Dockerfile và tệp chương trình được sử dụng trong phần trên:

TỪ golang: 1.8

WORKDIR / đi / src / ứng dụng

SAO CHÉP main.go .

CHẠY đi xây dựng -O máy chủ web .

PHƠI RA 8080 : 8080

ĐIỂM VÀO [ './máy chủ web' ]

Bước 2: Tạo tệp docker-compose.yml

Tiếp theo, tạo một “ docker-compose.yml ” và sao chép các cặp khóa sau vào tệp:

phiên bản: '3'

dịch vụ:

mạng:
xây dựng: .
cổng:
- 8080 : 8080

Trong đoạn trích đã đề cập ở trên:

  • dịch vụ ” được sử dụng để chỉ định các dịch vụ soạn thảo sẽ được thực thi trong một vùng chứa riêng biệt. Để minh họa, chúng tôi chỉ định cấu hình một dịch vụ “ mạng lưới ” để giữ cho mã sạch sẽ và đơn giản.
  • xây dựng ” cặp khóa được sử dụng để đọc ngữ cảnh xây dựng từ Dockerfile. Tại đây, docker sẽ đọc hướng dẫn từ Dockerfile và xây dựng vùng chứa tương ứng.
  • cổng Phím ” xác định các cổng hiển thị mà vùng chứa sẽ được thực thi trên đó.

Bước 3: Bắt đầu phiên bản Docker

Bây giờ, hãy chạy phiên bản Docker trong vùng chứa bằng lệnh “ docker-soạn lên ' yêu cầu:

docker-soạn lên -d

Để xác minh, hãy kiểm tra danh sách các vùng chứa soạn thư đang chạy bằng cách sử dụng nút “ docker-compose ps ' yêu cầu:

docker-soạn ps

Kết quả đầu ra cho thấy rằng “ mạng lưới ” dịch vụ đang thực thi thành công trong “ golangapp-web-1 ' thùng đựng hàng:

Điều hướng đến cổng hiển thị của dịch vụ soạn thư và xác minh xem chương trình có đang thực thi hay không. Kết quả bên dưới cho thấy chúng ta đã khởi động thành công phiên bản Docker từ Dockerfile bằng cách sử dụng Docker soạn:

Đó là tất cả về việc chạy một phiên bản docker từ Dockerfile.

Phần kết luận

Để thực thi một phiên bản Docker trong vùng chứa từ Dockerfile, trước tiên hãy tạo Dockerfile. Thêm các lệnh bên trong tệp để tạo hình ảnh hoặc mẫu của vùng chứa Docker. Sau đó, tạo hình ảnh vùng chứa hoặc ảnh chụp nhanh bằng cách sử dụng nút “ docker build -t -f <đường dẫn đến Dockerfile> . ' yêu cầu. Bây giờ, hãy thực thi hình ảnh vùng chứa để khởi động phiên bản Docker. Người dùng cũng có thể sử dụng Docker soạn để chạy phiên bản Docker từ Dockerfile. Bài đăng này đã minh họa cách chạy phiên bản Docker từ Dockerfile.