Na Windowsie instalacja dwóch baz Oracle XE jednocześnie? Zapomnij – Windows nie lubi dzielić . Zawsze trzeba wybrać jedną wersję. A jeśli zapragniesz innej… cóż, najpierw musisz pożegnać starą (co zwykle wiąże się z kilkoma dramatycznymi „dlaczego to nie działa?!”), a potem zainstalować nową (często w towarzystwie kilku kolejnych „no proszę cię…”).
Na szczęście Docker wchodzi na scenę niczym bohater filmów akcji. Instalacja bazy trwa chwilę, usunięcie jeszcze krócej, a różnych wersji możesz mieć tyle, ile tylko zmieści Ci się na dysku. Tak, dosłownie wszystkie, o których marzysz.
Dla ciekawskich i odważnych i Erika przygotowałam krótką instrukcję, jak zainstalować Docker na Windows – krok po kroku, bez bólu, łez i niepotrzebnych dramatów.
| Lp. | Krok | Konsola / CMD | Uwagi |
|---|---|---|---|
| 1 | Uruchom CMD | ||
| 2 | Zainstaluj WSL Oracle Linux 9.5 | wsl --install -d OracleLinux_9_5 | Podczas instalacji podaj nazwę użytkownika i hasło |
| 3 | Sprawdź zainstalowaną wersję | cat /etc/os-release | Powinna zostać wyświetlona informacja o instalacji Oracle Linux 9.5 |
| 4 | Zaktualizuj pakiety |
sudo dnf update -y sudo dnf upgrade -y |
Po aktualizacji zobaczysz komunikat: Complete! |
| 5 | Zainstaluj potrzebne narzędzia | sudo dnf install -y yum-utils curl | Po instalacji zobaczysz komunikat: Complete! |
| 6 | Dodaj repozytorium Docker | sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo | Po instalacji zobaczysz komunikat: Complete! |
| 7 | Zainstaluj Docker | sudo dnf install -y docker-ce docker-ce-cli containerd.io | |
| 8 | Dodaj użytkownika do grupy docker | sudo usermod -aG docker $USER | |
| 9 | Odśwież grupy | newgrp docker | |
| 10* | Zainstaluj nano | sudo dnf install nano | |
| 11* | Wyedytuj plik i dodaj systemd do pliku /etc/wsl.conf | sudo nano /etc/wsl.conf | Dodaj do pliku: [boot] systemd=true |
| 12 | Uruchom docker | sudo dockerd > /dev/null 2>&1 & | |
| 13 | Wyjdź z WSL do cmd | exit | |
| 14 | Zamknij WSL | wsl --shutdown | |
| 15 | Wejdź w WSL z cmd | wsl | |
| 16** | Umożliwienie automatycznego uruchamiania docker | sudo systemctl enable docker | |
| 17** | Start docker | sudo systemctl start docker | |
| 18 | Sprawdzenie czy działa | docker ps | Powinna pokazać się lista kontenerów (same nagłówki, bo jeszcze nie mamy żadnych kontenerów utworzonych) |
**Kroki 16 i 17 można połączyć i wykonać jednym poleceniem
Instalacja bazy Oracle XE 18c
sudo systemctl enable --now dockerInstalacja bazy Oracle XE 18c
1. Wejdź z cmd do wsl - polecenie WSL
2. Uruchom:
Jeśli chcesz dołączyć widzieć z poziomu Windows katalogi bazy - utwórz te katalogu w folderach Windows np. DANE do plików generowanych i wrzucanych czy TRACE do pobierania plików trace.
docker run --name [twoja_nazwa_bazy] \
-v /mnt/[dysk]/[katalog_windows]:[ścieżka_źródłowa_bazy] \
-v /mnt/[dysk]/[katalog_windows]:[ścieżka_źródłowa_bazy] \
-d -p [port_na_windows]:1521 \
-e ORACLE_PASSWORD=[haslo_sys] \
gvenzl/oracle-xe:18
| Zmienne / Parametry | Opis |
|---|---|
| [twoja_nazwa_bazy] | Nazwa bazy danych, np. db18 |
| [dysk] | Dysk, na którym utworzyłeś katalogi, bez dwukropka, sama litera np. C |
| [katalog_windows] | Folder Windows, do którego mapujesz katalogi bazy, np. docker_data_db18/oracle_logs |
| [ścieżka_źródłowa_bazy] | Ścieżka do pliku w bazie danych do trace, np. /opt/oracle/diag/rdbms/xe/XE/trace |
| [port_na_windows] | Port do którego będzie mapowana baza – polecam wysoki numer, np. 21522 (Windows czasem rezerwuje niższe) |
| [haslo_sys] | Hasło użytkownika SYS, np. sys |
Przykład z mojej instalacji:
docker run --name db18 \
-v /mnt/c/docker_data_db18/oracle_logs:/opt/oracle/diag/rdbms/xe/XE/trace \
-v /mnt/c/docker_data_db18/DANE:/opt/oracle/data \
-d -p 21522:1521 \
-e ORACLE_PASSWORD=sys \
gvenzl/oracle-xe:18
Przydatne komendy:
| Command | Description |
|---|---|
| docker start db18 | Uruchomienie bazy danych db18 |
| docker stop db18 | Zatrzymanie bazy danych db18 |
| docker ps | Wyświetlenie uruchomionych kontenerów |
| docker ps -a | Wyświetlenie wszystkich kontenerów i ich statusów |
| docker rm db18 | Usuniecię bazy danych db18 |
| wsl --shutdown | (z CMD) Zatrzymanie WSL |

Komentarze
Prześlij komentarz