Truy cập docker container trong một nốt nhạc với vài thao tác cơ bản :3

Trong khi làm việc không phải lúc nào cũng đủ “minh mẫn” để gõ một tá lả các câu lệnh :sweat_smile::sweat_smile: và thao tác cồng kềnh chỉ để truy cập vào docker container hay import, export database từ container.

image

Nên một đoạn script nhỏ được viết ra nhằm gom mấy thứ cồng kềnh vào một chỗ để cho công việc “thuý mượt” hơn chút :laughing: :v:

Mục đích bài viết

  • Giới thiệu 1 đoạn shell script tự viết nhằm tối ưu hoá việc truy cập vào docker container.

Bạn nhận được gì từ bài viết này?

  • Cài đặt script để tối ưu hoá docker.
  • Truy cập docker container nhanh chóng bằng custom command.
  • Import/Export database từ docker container dễ dàng.

Yêu cầu

  • Docker đang chạy trên nền tảng Linux
  • Sử dụng Docker Image cho Magento 2 built bởi team General Oil Download Here

Cài đặt

  1. Clone Repository này lên Server đang chạy Docker của bạn.
  2. Lấy đường dẫn tuyệt đối tới file docker_helper.sh vừa clone ở repo trên. (trong ví dụ này là: /home/ubuntu/shell-script/docker_helper.sh)
  3. Mở file .bashrc trong thư mục home của user đang login (trong ví dụ này user là ubuntu thì đường dẫn đến file sẽ là /home/ubuntu/.bashrc)
  4. Thêm dòng sau vào cuối file và save lại
    source <absolute_path_to_docker_helper_file>
    
    Trong ví dụ này <absolute_path_to_docker_helper_file>/home/ubuntu/shell-script/docker_helper.sh. Nội dung file .bashrc sẽ như sau
    ...
    source /home/ubuntu/shell-script/docker_helper.sh
    
  5. Logout tài khoản hiện tại và login lại (để terminal update các function mới được import vào từ file docker_helper.sh

Sử dụng

(*) Chú ý: các câu lệnh chỉ thực hiện đúng khi chạy ở thư mục gốc chứa file docker-compose.yml.

Trong ví dụ này file docker-compose.yml có đường dẫn tuyệt đối như sau:
/home/ubuntu/mycustomproject/docker-compose.yml
Như vậy thư mục gốc chứa file docker-compose.yml sẽ là: /home/ubuntu/mycustomproject/.

  1. Di chuyển đến thư mục chứa docker file trước:
    cd /home/ubuntu/mycustomproject/
    
  2. Sử dụng các câu lệnh mô tả bên dưới

Các câu lệnh và cách sử dụng

  • Login vào web-container:

    runweb <user>
    

    Tham số <user> là login với định danh là user nào trong container, nếu không truyền vào thì sẽ lấy user mặc định là www-data

  • Login vào database-container:

    rundb
    

    Không cần truyền thêm tham số <user> vì default chỉ có 1 user là root

  • Export database

    exportdb <path_to_file>
    

    Tham số <path_to_file> là đường dẫn tương đối hoặc tuyệt đối đến file database cần export.

  • Import database

     importdb <path_to_file>
    

    Tham số <path_to_file> là đường dẫn tương đối hoặc tuyệt đối đến file database cần import.

5 Likes

repo này die r hả @oliver

uhm, lâu quá rồi nên tôi bỏ đống code kia đi rồi :))

1 Like

so sad guy :frowning: