[Docker] Build image từ dockerfile và push lên hub

dockericon.png

1. Docker là gì ?

Docker là một open platform cung cấp cho người sử dụng những công cụ và service để người sử dụng có thể đóng gói và chạy chương trình của mình trên các môi trường khác nhau một cách nhanh nhất

**2. Cài đặt Docker trên ubuntu 14.04 **

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

sudo gedit /etc/apt/sources.list.d/docker.list
thêm vào dòng và lưu lại : deb https://apt.dockerproject.org/repo ubuntu-trusty main

sudo apt-get update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
sudo apt-get update
sudo apt-get install docker-engine
sudo service docker start
sudo docker run hello-world

Ngoài ra còn có thể tham khảo các cài đặt docker trên các phiên bản hệ điều hành khác tại link sau: https://docs.docker.com/engine/installation/#installation

3.Hướng dẫn build images docker từ dockerfile

Đầu tiên ta cần tạo 1 file Dockerfile

FROM ubuntu
MAINTAINER letrung910, [email protected]
RUN apt-get update
RUN apt-get install -y nginx

Trong đó

FROM ubuntu: là sử dụng images ubuntu

MAINTAINER: Thông tin người tạo

RUN thực hiện câu lệnh, ở đây tôi cài đặt nginx cho images ubuntu.

Sau đó ta thực hiện build images bằng câu lệnh

docker build -t letrung910/nginx:1.0 .

là ta đã tạo thành công 1 images ubuntu cài đặt dịch vụ nginx.

Ta kiểm tra lại các images đã tạo bằng câu lệnh docker images docker images.PNG

** 4.Push image lên hub.docker.com**

Để push 1 image vừa tạo lên hub để chia sẻ với mọi người, thì ta cần tạo 1 tài khoản và login vào bằng câu lệnh

Docker login

Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:letrung910
Password:
Login Succeeded

Sau khi login thành công ta tiến hành push image lên hub

$ docker push letrung910/nginx
The push refers to a repository [letrung910/nginx]
255c5f0caf9a: Image successfully pushed

Kiểm tra đã push thành công chưa ta vào link sau: https://hub.docker.com/r/letrung910/nginx/tags/