9.1 Đăng tải images: lệnh docker push
Bạn đã biết rằng Docker Hub — là một nền tảng đám mây để lưu trữ, chia sẻ và quản lý các Docker-image. Tại đây, các developer có thể dễ dàng chia sẻ images của mình với đồng nghiệp hoặc đăng tải chúng để mọi người cùng sử dụng. Làm việc với Docker Hub cũng giống như làm việc với Git. Các lệnh chính bao gồm docker push và docker pull. Trong bài giảng này, tụi mình sẽ tìm hiểu cách sử dụng các lệnh này để đăng tải và tải về Docker-image.
Lệnh docker push
được dùng để gửi Docker-image từ local lên Docker Hub. Trước khi đăng tải image, chắc chắn rằng nó đã được gắn thẻ (tag) kèm với username của bạn trên Docker Hub.
Các bước để đăng tải image
Bước 1. Build Docker-image:
Nếu bạn chưa có image đã build, hãy tạo nó bằng lệnh docker build
.
docker build -t myapp:latest .
Bước 2. Tag image:
Để đăng tải image lên Docker Hub, bạn cần tag nó với username của bạn trên Docker Hub.
docker tag myapp:latest yourusername/myapp:latest
Bước 3. Đăng tải image:
Sử dụng lệnh docker push để gửi image lên Docker Hub.
docker push yourusername/myapp:latest
Ví dụ:
docker build -t myapp:1.0 .
docker tag myapp:1.0 yourusername/myapp:1.0
docker push yourusername/myapp:1.0
9.2 Tải images: lệnh docker pull
Lệnh docker pull
được sử dụng để tải về images từ Docker Hub về máy cục bộ của bạn. Điều này cho phép bạn truy cập các images đã được đăng tải bởi người khác hoặc team của bạn.
Các bước để tải về một image
Bước 1. Tìm image:
Sử dụng lệnh docker search
để tìm image cần thiết trên Docker Hub.
docker search nginx
Bước 2. Tải về image:
Sử dụng lệnh docker pull
để tải image về máy cục bộ của bạn.
docker pull yourusername/myapp:latest
Ví dụ:
docker pull nginx:latest
9.3 Ví dụ đầy đủ
Ví dụ đầy đủ về quy trình làm việc để đăng tải và tải xuống images:
Bước 1: Tạo image
Tạo Dockerfile cho ứng dụng của bạn. Ví dụ, đối với ứng dụng Node.js:
# Sử dụng base image Node.js
FROM node:14
# Thiết lập thư mục làm việc
WORKDIR /app
# Sao chép package.json và cài đặt dependencies
COPY package*.json ./
RUN npm install
# Sao chép toàn bộ mã nguồn ứng dụng
COPY . .
# Mở port
EXPOSE 3000
# Chạy ứng dụng
CMD ["node", "app.js"]
Tạo image bằng câu lệnh docker build
.
docker build -t mynodeapp:latest .
Bước 2: Gắn tag cho image
Gắn tag cho image với thông tin username của bạn trên Docker Hub.
docker tag mynodeapp:latest yourusername/mynodeapp:latest
Bước 3: Đăng tải image
Đẩy image lên Docker Hub.
docker push yourusername/mynodeapp:latest
Bước 4: Tải về image
Bây giờ, người dùng khác hoặc đồng nghiệp của bạn có thể tải image này về máy local của họ.
docker pull yourusername/mynodeapp:latest
Bước 5: Chạy container từ image đã tải xuống
Sau khi tải xuống image, bạn có thể chạy container dựa trên image đó.
docker run -d -p 3000:3000 yourusername/mynodeapp:latest
GO TO FULL VERSION