devcontainers + plugin vscode

W pracy nad wieloma projektami infrastrukturalnymi (OpenTofu, Ansible, Vault, GitLab CI) szybko pojawia się ten sam problem: jak zapewnić powtarzalne, gotowe do pracy środowisko developerskie, bez ręcznego konfigurowania systemu na każdym laptopie lub VM.
Założenia architektoniczne
Section titled “Założenia architektoniczne”Celem jest środowisko stworzenie kontenera deweloperskiego, które:
- działa identycznie na każdym hoście,
- za pomocą katalogu .userfiles, konfiguruje wstępnie kontener użytkownika, tak aby można było pracować wewnątrz.
Kluczowe elementy:
- Dev Container oparty o własny obraz Dockera,
- bind-mount katalogu
.userfiles, - postCreateCommand jako punkt wejścia do bootstrapu.
Krok po kroku
Section titled “Krok po kroku”-
Instalacja dockera
Section titled “Instalacja dockera” -
Instalacja pluginu do vscode
Section titled “Instalacja pluginu do vscode” -
Utworzenie katalogu /userfiles
Section titled “Utworzenie katalogu /userfiles”Utworzyłem katalog w /userfiles, w którym skopiowałem wszystkie potrzebne pliki użytkownika, tak bym mógł pracować w jego konteście
-
Utworzenie dowiązania symbolicznego do repo
Section titled “Utworzenie dowiązania symbolicznego do repo” -
Utworzenie pliku .devcontainer/devcontainer.json
Section titled “Utworzenie pliku .devcontainer/devcontainer.json” -
Utworzenie Dokerfile
Section titled “Utworzenie Dokerfile” -
Utworzenie skryptu .userfiles/bootstrap.sh
Section titled “Utworzenie skryptu .userfiles/bootstrap.sh”
Extra: Publikacja kontenera
Section titled “Extra: Publikacja kontenera”-
Docker login
Section titled “Docker login” -
Ustawienie taga dla .devcontainer
Section titled “Ustawienie taga dla .devcontainer”Szukanie kontenera, który nas interesuje:
Rename kontenera
Push kontenera