Mỗi khi bắt đàu code một thứ gì đó, python, java, hay IaC như Terraform, dạo này thì mình đang nghiên cứu về Lono (sẽ sớm lên bài viết) thì bước đầu tiên bao giờ cũng là chuẩn bị môi trường, cài cắm các thứ vào máy để dev, chưa kể đến việc quản lý version của các engine.
Nếu như dùng Terraform thì có Tfenv, hay ruby có rbenv… vâng vâng nhưng nếu như là kubectl hay aws-cli, helm, ansible…thì sẽ phải quản lý như thế nào? Tạo máy ảo, cài cắm và code thông qua máy ão?
Trong bài viết này mình xin chia sẽ cách khởi tạo nhanh môi trường dev với docker và VScode.
Chuẩn bị
Trong bài viết này mình dùng hệ điều hành macOS, các bạn dùng hệ điều hành khác có thể làm tương tự.
Cài đặt VScode
Bạn vào link này để tải và cài đặt.
Cài đặt docker
Bạn vào link này để cài đặt docker.
Vì cài đặt hai tools trên khá là đơn giản nên mình sẽ không nói chi tiết.
Cài đặt extensions
Bạn có thể vào link này để cài đặt hoặc truy cập vào thanh menu bên trái tìm và cài đặt extensions Remote-container.
Cách hoạt động
Nhình chung thay vì bạn sẻ cài đặt tất cả các engine lên máy của bạn, thì bạn sẻ cài chúng lên container, sau đó thông qua extensions bạn sẻ remote vào container đó để code
Tất cả code của bạn sẻ được đưa vào container thông qua cơ chế bind muont
Cấu hình
Trong VScode bấm tổ hợp phím command+shift+p(nếu bạn dùng hệ điều hành khác thì thay command bằng control) sau đó tìm từ khóa như hình bên dưới.
chọn Remote-container: Open Container Còniguration File
ở đây mình có chuẩn bị sẳn file mẫu, các bạn có thể tham khảo.
mình sẻ gỉai thích sơ về phần cấu hình.
phần này cấu hình vị trí Dockerfile, contexr build, tên của môi trường remote.
Phần này cáu hình shell mà mình sẽ sử dụng, vì mình dùng macOS và đã quen với zsh nên mình sẻ dùng zsh, bạn nào dùng bash thì có thể điều chỉnh lại cho phù hợp.
Đây là phần cấu hình mount data từ bên ngoài vào container, mặc định, khi khởi chạy container thì thư mục bạn đang đứng sẽ được mount vào container, ở đây mình dùng git, dùng ssh-key, dùng aws-cli, zsh và docker, why docker? nếu bạn muốn sử dụng docker bên trong container.
Lưu file này lại, bạn sẽ thấy ở thư mục làm việc sẻ có một thư mục mới là .devcontainer
Dockerfile
Tùy thuộc vào dự án bạn đang develop, bạn có thể tham khảo file này, mình đang làm việc với ruby
Khởi tạo môi trường
Sau khi chuẩn bị hết mọi thứ, giờ đến lúc khởi tạo môi trường. Trong VScode bấm tổ hợp phím command+shift+p(nếu bạn dùng hệ điều hành khác thì thay command bằng control) sau đó tìm từ khóa như hình bên dưới.
Đơi một lúc để build xong container, những lân sau sẻ nhanh hơn. Kiểm tra góc dưới bên trái, bạn sẻ thấy như hình bên dưới.
nếu bạn có cập nhật file cấu hình hoặt Dockerfile, bạn chỉ cần rebuild lại container.
Để thoát khỏi chế độ remote vào container, bạn bấm vào góc dưới bên trái và chọn như hình dưới.
Tổng kết
Trên đay mình đã giới thiệu đên các bạn cách để khởi tạo nhanh môi trường dev, mà không ảnh hưởng đến môi trường gốc, hoặc bạn muốn vừa code máy cá nhân và vừa code máy công ty trên cùng một project, hay chỉ đơn giản là bạn không muốn lúc demo thì lại gặp issue 🙂