GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Mengedit Kode di Wadah Docker Dengan Kode Visual Studio

Mengembangkan atau men-debug kode di dalam wadah Docker bisa jadi rumit. Anda biasanya melampirkan ke wadah dan menggunakan utilitas shell untuk mengedit file. Ekstensi Remote Containers Visual Studio Code memungkinkan Anda membuka folder di dalam container, sehingga Anda dapat bekerja dengannya di editor kode Anda.

Pengembangan jarak jauh berfungsi dengan Docker Desktop 2.0 dan yang lebih baru untuk Windows dan macOS serta Docker Engine 18.06 dan yang lebih tinggi untuk Linux. Jika Anda menggunakan Windows 10 Home, Anda harus menginstal pembaruan April 2020, Docker Desktop 2.3, dan Subsistem Windows untuk Linux.

Di sisi container, VS Code kompatibel dengan container x64 dan ARM. Anda dapat menggunakan sistem operasi Alpine, Debian, Ubuntu, CentOS dan RHEL. Jika gambar dasar Anda tidak berfungsi, Anda seharusnya dapat menginstal paket tambahan di dalamnya untuk menyelesaikan koneksi.

Memulai

Luncurkan Kode VS, tekan Ctrl + Shift + P dan cari "ekstensi". Pilih item "Instal Ekstensi" untuk membuka bilah sisi. Di dalam panel ekstensi, cari “Remote – Containers” dan instal item yang cocok.

Setelah ekstensi dipasang, tombol hijau baru akan muncul di kiri bawah bilah status Anda. Klik ini untuk membuka palet perintah, yang telah diisi sebelumnya dengan perintah jarak jauh yang tersedia. Jika Anda lebih suka menghindari penggunaan mouse, Anda juga dapat menemukan perintah dengan menekan Ctrl+Shift+P dan mengetik “remote”. Ekstensi juga akan muncul di area lain dari UI, seperti halaman selamat datang dan panel pembuka folder.

Untuk membuka folder Dockerized pertama Anda, buka daftar perintah dan pilih "Lampirkan ke Running Container". Anda harus mengakui peringatan bahwa penampung dapat mengeksekusi kode yang tidak tepercaya. Anda hanya boleh melampirkan penampung yang dibuat dari gambar yang Anda percayai, karena penampung berbahaya dengan file ruang kerja Kode VS dapat membahayakan sistem Anda.

VS Code akan menampilkan daftar container Docker yang berjalan di sistem Anda. Pilih wadah yang ingin Anda sambungkan. Jendela baru akan diluncurkan. Mungkin perlu beberapa detik untuk memulai saat VS Code menginstal komponen server jarak jauhnya ke dalam wadah. Anda akan melihat wadah aktif ditampilkan di kiri bawah bilah status.

Setelah jendela siap, Anda dapat mulai bekerja. Klik tombol "Buka Folder" di panel kiri untuk membuka prompt pemilih file. Ini menampilkan sistem file di dalam wadah. Navigasikan ke direktori yang ingin Anda buka dan tekan “OK”.

Bilah sisi akan diperbarui untuk menampilkan konten direktori yang dipilih. Klik salah satu file untuk membukanya di editor VS Code. Anda sekarang dapat membuat perubahan di dalam wadah, tanpa menyalin file secara manual atau menyiapkan pengikatan direktori kerja. Ini memaksimalkan efisiensi saat menggunakan lingkungan pengembangan Docker atau men-debug container yang tidak berfungsi.

Set fitur lengkap VS Code tersedia, termasuk penyelesaian kode IntelliSense dan toolkit debugging-nya. Panel seperti konsol dan terminal akan dilampirkan ke aliran input dan output container.

Bagaimana Cara Kerjanya?

Hal pertama yang harus diketahui tentang integrasi adalah bahwa VS Code akan mengubah sistem file penampung Anda. Ini akan menginstal server di wadah yang Anda sambungkan, yang memberikan informasi kembali ke klien editor.

Server memantau sistem file, membaca file, dan meluncurkan proses di dalam wadah. Ini memperkuat kemampuan seperti debugger VS Code. Editor akan meminta server untuk menjalankan sumber Anda, membiarkannya memeriksa kode yang berjalan di dalam wadah.

Demikian pula, VS Code akan menginstal salinan ekstensi Anda yang lain di dalam wadah. Ini memastikan mereka mendapatkan akses penuh ke sistem file kontainer, sehingga mereka akan beroperasi tanpa perbedaan dibandingkan dengan folder lokal. Hasil akhirnya adalah pengalaman editor lengkap yang beroperasi secara transparan, meskipun tersebar di seluruh host dan penampung Anda. Bergantung pada ukuran lingkungan Anda, penyiapan yang dijalankan pertama dapat memakan waktu beberapa saat, tetapi server penampung akan di-cache untuk penggunaan selanjutnya.

Wadah Pengembangan

Selain membuka file dalam wadah yang ada, sistem jarak jauh memungkinkan Anda menentukan wadah pengembangan yang merangkum lingkungan kerja Anda. Wadah semacam itu harus menyertakan semua dependensi perangkat lunak yang akan Anda instal sebelum mengembangkan aplikasi Anda secara lokal.

Saat Anda menggunakan wadah pengembangan, Anda dapat mengikat mount direktori kerja Anda atau menggunakan volume yang terisolasi. Opsi terakhir menghindari polusi sistem file dan menawarkan peningkatan kinerja karena lebih asli untuk Docker.

Wadah pengembangan dibuat dari .devcontainer/devcontainer.json file. Ini menjelaskan konfigurasi Docker dan Visual Studio yang meluncurkan lingkungan pengembangan Anda.

{
    "image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:16",
    "extensions": "EditorConfig.EditorConfig",
    "forwardPorts": [3000]
}

devcontainer.json file yang ditunjukkan di atas menyiapkan wadah pengembangan yang menggunakan template Node.js Microsoft. Ekstensi EditorConfig VS Code diaktifkan, menambahkan dukungan untuk .editorconfig file di direktori kerja Anda. Port 3000 kemudian dipetakan dari host ke dalam container.

File container dev juga mendukung beberapa opsi lain. Anda dapat mengatur Kode VS settings.json nilai, tambahkan perintah untuk dijalankan di dalam wadah, dan tentukan pengguna yang akan dijalankan oleh server Kode VS.

Jika Anda tidak ingin membuat file konfigurasi container sendiri, Remote-Containers:Add Development Configuration Files perintah akan menambahkan satu ke proyek Anda secara otomatis. Anda dapat memilih dari daftar template yang telah dikonfigurasi sebelumnya yang dapat Anda sesuaikan nanti.

Setelah Anda mendapatkan devcontainer.json file di proyek Anda, jalankan Remote-Containers:Rebuild Container perintah dari palet perintah. Ini akan membangun gambar kontainer menggunakan konfigurasi yang ditentukan. Saat pembangunan selesai, jalankan Remote-Containers:Reopen Folder in Container untuk membuka direktori lokal Anda saat ini dalam wadah pengembangan baru.

Jika Anda menggunakan repositori Git, biasanya lebih mudah untuk mengkloning repo langsung ke dalam wadah. Remote-Containers:Clone Repository dalam Volume Container perintah menerima URL Git untuk dikloning. Ini akan membuat volume baru dan melampirkannya ke instance wadah dev. Ini memungkinkan Anda mengerjakan repo Git tanpa mengkloningnya ke sistem file lokal Anda, menghindari polusi yang tidak perlu. Kode VS secara otomatis membagikan kredensial Git lokal Anda dengan penampung.

Mengonfigurasi Ekstensi

Ekstensi Remote – Containers hadir dengan beberapa pengaturan yang memungkinkan Anda mengonfigurasi pengalaman container Anda. Anda dapat menemukannya dengan Remote-Containers:Setelan untuk Remote-Containers perintah.

Kumpulan pengaturan pertama menyangkut dotfiles. Dotfiles merujuk ke file konfigurasi yang dimulai dengan titik (. ). Remote-Containers dapat secara otomatis mengkloning repositori Git dari dotfiles ke dalam container baru, membantu Anda menjalankan dengan pengaturan biasa.

Tambahkan URL repositori dotfiles Anda ke Repository pengaturan. Repositori akan dikloning ke Target Path jalur, yang defaultnya adalah ~/dotfiles . Jika Anda ingin menjalankan perintah setelah repositori dikloning, tentukan sebagai Install Command .

Remote-Containers default untuk menggunakan docker sebagai biner yang mengeksekusi perintah kontainer. Anda dapat mengubah ini ke biner apa pun yang kompatibel dengan Docker CLI dengan Docker Path pengaturan. Jika Anda menggunakan Podman, tentukan podman karena nilai ini akan memungkinkan Anda bekerja dengan wadahnya menggunakan Kode VS.

Anda dapat mengonfigurasi ekstensi jarak jauh default di bawah Default Extensions menuju. Klik “Tambah Item” untuk memilih ekstensi yang akan ditambahkan ke setiap penampung. Ini memungkinkan Anda memastikan ketersediaan global dari ekstensi yang harus Anda gunakan, meskipun ekstensi tersebut tidak tercantum dalam devcontainer.json berkas.

Kelompok pengaturan terakhir menyangkut konfigurasi Git. Ketika “Copy Git Config” dicentang, .gitconfig lokal Anda file akan secara otomatis disalin ke dalam wadah secara otomatis. Mengaktifkan ini memastikan komit Anda dikaitkan dengan benar ke detail pengguna yang sudah Anda gunakan secara lokal.

Pengaturan “Lokasi Konfigurasi Pembantu Kredensial Git” mengontrol file konfigurasi tempat kredensial Git baru akan ditulis. Anda dapat memilih dari file per pengguna lokal Anda, ~/.gitconfig , atau lokasi sistem global, /etc/gitconfig .

Ringkasan

Ekstensi Remote – Containers untuk Visual Studio Code memungkinkan Anda mengedit file dan folder di dalam container Docker. Ini bekerja dengan mulus dengan fitur editor Kode VS, termasuk IntelliSense, pengindeksan direktori, debugging, dan ekstensi. Secara internal, VS Code meluncurkan server pengembangan di dalam wadah sehingga alatnya memiliki akses penuh ke sistem file tempat mereka bekerja.

Ada beberapa kemungkinan kasus penggunaan untuk fungsi ini, dengan lingkungan pengembangan yang di-Docker dan pengeditan kontainer on-the-fly menjadi pesaing teratas. Sedangkan ide Penggunaan container untuk mensistematisasikan pengembangan telah ada selama beberapa waktu, VS Code membuatnya lebih mudah untuk memulai dengan menawarkan pengalaman IDE yang secara native memahami Docker.

Anda dapat menyiapkan image Docker yang memberi pengembang semua yang mereka butuhkan untuk bekerja di sistem Anda – bahasa pemrograman, dependensi, dan alat kenyamanan. Pengembang akan memulai sebuah wadah, menghubungkannya dari Kode VS, dan melakukan pekerjaan mereka tanpa menginstal apa pun (kecuali Kode) di mesin mereka sendiri. Jika ketergantungan harus ditambal, Anda hanya perlu memperbarui gambar Docker yang dibagikan dan meminta pengembang untuk menarik tag baru.


Docker
  1. Cara Menyebarkan Wadah nginx dengan Docker di Linode

  2. Cara Berbagi Data Antar Wadah Docker

  3. Cara Mendaftar Kontainer Docker

  1. Bagaimana Mengelola Kontainer Docker? Praktik terbaik

  2. Cara mencadangkan dan memulihkan wadah Docker

  3. Cara Menjeda dan Melanjutkan Wadah Docker

  1. Cara Menginstal Kode Visual Studio di Ubuntu 18.04

  2. Cara Menginstal Kode Visual Studio di Ubuntu 20.04

  3. Cara Menginstal Kode Visual Studio di CentOS 7