October 17, 2021

Thực hành cơ bản với docker (Phần 2)

Link phần 1 ở đây

Trong phần 2 này mình cùng các bạn sẽ khám phá một images khác, thú vị hơn image hello-world mà đã làm ở phần 1. Như các bạn đã biết ở phần lý thuyết, docker chính là công nghệ container hoá, do đó trong phần 2 này mình cùng các bạn sẽ cùng khám phá image hệ điều hành ubuntu nhé.

Video hướng dẫn cụ thể

Theo như phần 1 thì chúng ta sẽ chạy 2 lệnh dưới đây để download imges và chạy images ubuntu.

docker pull ubuntu
docker run -td -p 80:80 --name osu ubuntu  #đặt tên cho container là osu cho dễ quản lý.
Kiểm tra bằng lệnh docker ps -a sẽ thấy container ubuntu đang trong status Exited

1. Cài các gói phần mềm cho ubuntu container đang chạy

Làm sao để login vào ubuntu đang chạy để chạy các câu lệnh cài các gói phần mềm, trong trường hợp này là cài đặt apache web server, php, mysql,…? Chúng ta hãy chạy lệnh sau để vào ubuntuOS : docker exec -it <tên container> /bin/bash cụ thể ở đây là docker exec -it osu /bin/bash Sau khi chạy lệnh này coi như ta đã ssh vào ubuntu rồi (như hình dưới). Tiếp theo ta sẽ tiến hành cài web server cho OS ubuntu này. (Trong ví dụ này mình cài apache server để minh hoạ)

apt-get update
apt-get install apache2
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2  restart
Sau khi cài xong 4 lệnh trên, chạy lệnh exit để thoát khỏi container.

Sau khi cài xong apache webserver. Các bạn mở trình duyệt chạy gõ localhost sẽ ra màn hình giống như bên dưới phải không nào.

2. Đóng gói container đang chạy thành image, để chia sẻ hoặc dùng vào lần sau.

Vậy là ta đã có container đang chạy web server. Tiếp theo ta tạo images mới bằng lệnh: docker commit osu ubuntu-have-web-server . Dùng docker images để xem images đã tạo chưa nào.

Chạy lệnh docker tag ubuntu-have-web-server YOUR_DOCKERHUB_NAME/ubuntu-have-web-server trong đó YOUR_DOCKERHUB_NAME là tên user khi bạn login vào https://hub.docker.com , để tag images vừa tạo ( Trong trường hợp của mình : docker tag ubuntu-have-web-server khanhvn666/ubuntu-have-web-server )

Tiếp theo là push images lên docker hub để chia sẻ cho các thành viên khác lấy về dùng :

docker push YOUR_DOCKERHUB_NAME/ubuntu-have-web-server trong đó YOUR_DOCKERHUB_NAME là tên user khi bạn login vào https://hub.docker.com (Trong trường hợp của mình

Các bạn login vào https://hub.docker.com/ là thấy thành quả images của mình vừa tạo ra rồi phải không nào.(tham khảo hình dưới)

Nếu setting chế độ public hoặc share cho member nào đó thì họ chỉ cần dùng lệnh

docker pull YOUR_DOCKERHUB_NAME/ubuntu-have-web-server là có được images đã cài server về máy của họ rồi dùng được luôn.(Trong trường hợp của mình: docker pull khanhvn666/ubuntu-have-web-server)

Other Thực hành cơ bản với docker:

Khi thực hành có chỗ nào chưa hiểu, cần support, các bạn hãy liên hệ với các chuyên gia – Cloud Ace Việt Nam – , hoặc comment ở form comment bên dưới, để nhận được hỗ trợ tốt hơn.