Tập tành Cài đặt Docker và Docker-compose trên Ubuntu học Laravel

3rd Aug 2022
Tập tành Cài đặt Docker và Docker-compose trên Ubuntu học Laravel
Table of contents

Xin chào các bạn, mình đã trở lại với bài viết chia sẻ đầu tiên về kiến thức lập trình. Như những chia sẻ ở phần giới thiệu bản thân, mình là một coder về lập trình web, cụ thể hơn thì mình lập trình bằng ngôn ngữ PHP và sử dụng framework Laravel, một framework rất có tiếng trong cộng đồng lập trình PHP.

Hiện nay, Laravel đã ra mắt phiên bản 5.8, các bạn có thể tìm hiểu document của Laravel tại đây. Và một phần không thể thiếu để tiến hành code với Laravel đó là môi trường phát triển. Có nhiều cách để dựng môi trường phát triển Laravel, đó là sử dụng các phần mềm tạo máy chủ như Xampp, Lampp, OpenServer… Những công cụ này thường được tích hợp sẵn Apache, PHP, MySql, FTP Server và MailServer. Tuy nhiên khi phải dựng hai môi trường cùng lúc cho hai project ở môi trường phát triển thì các công cụ này có thể sẽ không đáp ứng được nhu cầu đó.

Hiện nay, mình được biết đến một công cụ để dựng môi trường phát triển khá là thích. Đó là Laradock. Laradock là môi trường phát triển PHP , hỗ trợ cho các framework như Laravel, Symfony, CodeIgniter, WordPress, Drupal, … dựa trên Docker. Document của Docker giới thiệu về các tính năng của Docker và cách sử dụng chúng. Mình sẽ không đi vào Docker mà sẽ giới thiệu về cách cài đặt docker và docker-compose để sử dụng được Laradock.

Docker được support trên cả 3 hệ điều hành MacOs, Linux và Windows. Chi tiết cài đặt Docker các bạn có thể tham khảo tại: https://docs.docker.com/install/ đây là trang document hướng dẫn cách cài đặt của docker rất đầy đủ và chi tiết cho cả 3 hệ điều hành. Sau đây mình sẽ giới thiệu về cách cài đặt docker trên môi trường Linux/Ubuntu.

Để cài đặt docker trên Ubuntu mình thường đi theo flow như sau:

1. Update apt.

$ sudo apt-get update

2. Install package để apt có thể sử dụng repository thông qua giao thức HTTPS.

$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common

3. Add Docker’s GPG key.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4. Thêm repository cho Docker.

$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

5. Update apt lần nữa.

$ sudo apt-get update

6. Install Docker CE.

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

7. Kiểm tra xem Docker đã được cài đặt chưa

$ sudo docker version

Nếu kết quả các bạn nhận được như sau thì có nghĩa là các bạn đã cài đặt thành công Docker rồi.

Docker

Một vấn đề nữa khi cài đặt Docker đó là phân quyền. Nhiều bạn sau khi cài đặt Docker xong thường phải sử dụng sudo kèm theo các command của docker (ví dụ như command phía trên của mình), do đó để đơn giản và nhanh chóng khi sử dụng lệnh của docker, chúng ta nên phân quyền docker dành cho người dùng bình thường (non-root user) bằng lệnh:

$ sudo usermod -aG docker your-user

Logout khỏi tài khoản ubuntu, sau đó đăng nhập lại để áp dụng cài đặt. Khi đó, để kiểm tra version của docker, chỉ cần sử dụng lệnh:

$ docker version

Tiếp theo, để sử dụng Laradock thì cần cài đặt thêm docker-compose. Để hiểu rõ docker-compose là gì, mời các bạn tham khảo https://docs.docker.com/compose/overview/.

Flow để cài đặt docker-compose trên Ubuntu đơn giản như sau:

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose

Để kiểm tra đã cài đặt được docker-compose hay chưa, sử dụng command:

$ docker-compose --version

Như vậy, mình đã trình bày về cách cài đặt docker và docker-compose để sử dụng được Laradock khi set up môi trường phát triển của Laravel. Ở kỳ sau, mình sẽ trình bày cách dựng một server Laradock sử dụng apache2 và mysql. Hy vọng, những chia sẻ này sẽ giúp ích được cho các bạn.

Xin chào và hẹn gặp lại.

Bạn thấy bài viết này như thế nào?
1 reaction

Add new comment

Image CAPTCHA
Enter the characters shown in the image.

Related Articles

Trong blog CI-CD CHO DỰ ÁN CỦA BẠN mình đã giới thiệu về CI-CD và apply Gitlab CI vào dự án của bạn.

Docker becomes more and more suitable for personal environments, especially with private servers, which can be migrated very often.

Now, I didn’t publish the service on any port. I will, in fact, add another service that will serve as our management interface of the database, phpmyadmin:

Docker provides a single command that will clean up any resources — images, containers, volumes, and networks — that are dangling (not tagged or associated with a container):

Elastic Search already has docker image available. So lets use that Docker image to setup elastic search with WordPress.