Các Bước setup docker cho project.

Giới thiệu về Docker
  • Blogs này chủ yếu là mình hướng dẫn cách cơ bản nhất để setup docker cho project của các bác. Còn về lý thuyết như nào thì các bác có thể search google. khá nhiều blogs viết về docker và giới thiệu khá kỹ càng.

1. Docker là gì?
  • Nó là một công cụ tạo môi trường được “đóng gói” (còn gọi là Container) trên máy tính mà không làm tác động tới môi trường hiện tại của máy, môi trường trong Docker sẽ chạy độc lập.
  • Một số khái niệm chi tiết hơn về docker
    - Docker images : Mỗi khi bạn muốn chạy ứng dụng Docker là thì bạn cần một cái image, cái image này có thể là HĐH Centos hoặc Linux, đã cài sẵn các ứng dụng PHP, Nginx

    - Docker registries : Là kho chứa images. Người dùng có thể tạo ra các images của mình và tải lên bất kỳ đâu, miễn là người khác có thấy được, Hầu nết mình thường lên đây tham khảo

    - Docker container : hoạt động giống như một thư mục (directory), chứa tất cả những thứ cần thiết để một ứng dụng có thể chạy được. Mỗi một docker container được tạo ra từ một docker image.

    - Dockerfile : là một file chứa tập hợp các lệnh để Docker có thể đọc và thực hiện để đóng gói một image theo yêu cầu người dùng, chúng ta thường làm việc với tập tin này nhất
2. Vậy để setup docker thì các bác cần chuẩn bị giúp e các thứ sau
  • Các bác cần cài giúp em dockerdocker-compose trên máy. Bước này khá cơ bản nên em không làm ví dụ cụ thể. Các bác có thể tham khảo trên Trang chủ
3. Đến phần chính của blogs này. Các bước setup docker cho project:
  • Vậy để setup được docker cho project thì các bác cần chuẩn bị cho em 1 con project 😇. Ở đây em đang tạo mới 1 con project với laravel.


  • Sau khi cài đặt xong project trên máy bước tiếp các bác truy cập vào project của các bác.

  • Tiếp theo các bác clone laradock về folder project.
    - Bác có thể lên trên đây để clone laradock ( https://github.com/laradock/laradock )
    - Vì bản gốc khá nặng nên mình đã tự custom lại 1 con laradock khác, nhẹ hơn để sử dụng. Các bác có thể sử dụng con của mình để build cho nhanh (https://github.com/TaHieu-scuti/custom_docker_container)

  • Sau khi clone xong, Bác truy cập vào cập vào folder laradock (Ở đây mình để tên folder là custom_docker_container)
    - Trong folder custom_docker_container (or laradock) bạn xem file .env, trong file .env bạn check thông tin về mysql (Bạn có thể chỉnh sửa tên database và password) sau đó bạn config thông tin mysql trong file .env của project các bạn giống như config .env của laradock.
  • Trước khi chạy các bước tiếp theo bạn cần đảm bảo các điều sau đây:
    - Docker đã chạy
    - Đã tắt Apache hoặc các máy chủ ảo tương tự
    - Đã tắt mysql-server.
  • Sau khi hoàn thành bước trên. Tại folder custom_docker_container (or laradock) bạn chạy câu lệnh:
    • docker-compose up -d --build
          - Sau khi build xong bạn cần truy cập vào workspace của laravel để hoàn nốt các config của project. Để truy cập vào workspace bạn chạy câu lệnh:
    • docker-compose exec {container_name} /bin/bash (ex: docker-compose exec workspace bash)
          - Ở trong môi trường workspace bạn install composer or chạy migrate ..v..v (Nói chúng các config khi bạn setup môi trường laravel như nào để chạy nó thì bạn cần làm nó trong workspace của laradock) 

  • Để truy cập vào môi trường mysql. Run:
    • docker-compose exec -it mysql bash
4. Một số các câu lệnh Khác:
  • docker version: xem phiên bản docker
  • docker info : xem thông tin chi tiết cơ bản của phiên bản docker
  • docker images : liệt kê các images ng có
  • docker ps : Liệt kê các container đang chạy
  • docker ps -a : Liệt kê các container đang chạy và đã tắt
  • docker rm < Id hoặc name> : Xoá 1 container
  • docker rm -f <Id hoặc name> : Giống lệnh trên nhưng nó có thể xoá được cả container đang chạy
  • docker kill <Id hoặc name> : Tắt 1 container
  • docker start <id hoặc name> : Start 1 docker container
  • docker stop <id hoặc name> : Stop container được chỉ định bằng Id hoặc name đang chạy
Chúc các bác setup Thành công
If you liked this article

Let's subscribe the updates of Scuti!
Share on Google Plus

About Hieutq

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

1 Comments: