Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator polecenia docker run

Złóż cytowane polecenie z obrazem, portem, wolumenem, env-file i polityką restartu.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Ustaw opcje i kliknij „Generuj polecenie”.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator docker run — poprawna i bezpiecznie cytowana komenda

Generator docker run składa polecenie uruchamiające pojedynczy kontener z wybranego obrazu. Ustaw nazwę, mapowanie portu, jeden wolumen, plik zmiennych środowiskowych oraz sposób działania po zatrzymaniu, a otrzymasz wielowierszową komendę przygotowaną dla powłoki POSIX.

Narzędzie nie uruchamia Dockera i nie przesyła obrazu. Wynik jest zwykłym tekstem do sprawdzenia i skopiowania. Każda wartość pochodząca z formularza trafia do osobnego argumentu, a nazwa obrazu pozostaje na końcu, bo Docker interpretuje wszystko po niej jako komendę procesu w kontenerze. Walidacja odrzuca niepełne porty, niebezpieczne montowania i połączenie opcji, których Docker nie akceptuje.

Jak opcje przekładają się na polecenie?

UstawienieArgumentZnaczenieBezpieczna wartość domyślna
Tryb w tle-dTerminal wraca po starcieWłączony
Nazwa--nameCzytelny identyfikator konteneraapp
Port--publishŁączy port hosta i konteneraNasłuch tylko na 127.0.0.1
Wolumen--volumeUdostępnia katalog lub plikOpcjonalny, najlepiej z :ro
Środowisko--env-fileWczytuje zmienne z plikuBez wartości sekretów w historii powłoki
Restart--restart unless-stoppedWznawia usługę po awarii lub restarcie hostaWłączony dla usługi długotrwałej
Usuwanie--rmKasuje kontener po zakończeniuTylko dla zadań jednorazowych

Krok po kroku

  1. Wpisz pełną nazwę obrazu z wersją, na przykład nginx:1.27-alpine. Unikaj latest, jeśli zależy Ci na powtarzalnym uruchomieniu.
  2. Nadaj kontenerowi nazwę. Pozwoli używać prostego docker logs web-app zamiast losowego identyfikatora.
  3. Podaj oba porty albo wyczyść oba pola. Generator publikuje port hosta na 127.0.0.1, więc usługa nie staje się przypadkiem publiczna.
  4. Opcjonalnie dodaj montowanie w formacie źródło:/cel:ro oraz ścieżkę do pliku środowiskowego.
  5. Wybierz politykę działania, wygeneruj polecenie, przeczytaj je i dopiero potem uruchom w terminalu.
docker run \
  -d \
  --restart unless-stopped \
  --name 'web-app' \
  --publish 127.0.0.1:8080:80 \
  --volume './public:/usr/share/nginx/html:ro' \
  'nginx:1.27-alpine'

Shell quoting i odporność na wstrzyknięcie

Spacja, apostrof, średnik albo znak dolara mają specjalne znaczenie dla powłoki. Proste sklejenie -v z danymi formularza może rozbić argument albo wykonać dodatkowe polecenie. Generator otacza dynamiczne wartości apostrofami i zapisuje apostrof wewnątrz wartości w przenośnej formie POSIX. Flagi są stałe i dodawane osobno. Dzięki temu ścieżka ze spacją pozostaje jednym argumentem dla klienta Docker.

Cytowanie zabezpiecza składnię powłoki, ale nie sprawia, że dowolna konfiguracja jest dobrym pomysłem. Narzędzie odrzuca montowanie katalogu głównego hosta i gniazda docker.sock, bo dają kontenerowi dostęp porównywalny z administratorem. Nie oferuje też --privileged. Jeśli aplikacja ma zapisywać tylko jeden katalog, udostępnij właśnie ten katalog zamiast całego systemu plików.

Porty, sieć i dostęp z zewnątrz

Zapis 127.0.0.1:8080:80 oznacza: klient łączy się z portem 8080 hosta, Docker przekazuje ruch do portu 80 kontenera, ale tylko interfejs pętli zwrotnej przyjmuje połączenia. To dobre ustawienie za lokalnym Nginxem lub tunelem SSH. Aby wystawić usługę publicznie, świadomie zmień adres po wygenerowaniu i skonfiguruj firewall oraz TLS.

Sam EXPOSE w Dockerfile nie publikuje portu. Jest dokumentacją obrazu; dostęp tworzy dopiero --publish. Konfigurację warstwy HTTP przygotujesz z generatorem .htaccess, a szersze wdrożenie klastra opisze generator Deployment Kubernetes. Dla kilku współpracujących usług lepszy będzie deklaratywny plik Compose.

Wolumeny i plik środowiskowy

Montowanie bind łączy konkretną ścieżkę hosta z bezwzględną ścieżką w kontenerze. Sufiks :ro blokuje zapis z kontenera i powinien być domyślnym wyborem dla konfiguracji oraz statycznych plików. Uważaj na względne ścieżki: są liczone od katalogu, z którego uruchamiasz klienta Docker. Generator cytuje cały zapis jako jeden argument.

Sekrety przekazane przez -e HASLO=... trafiają do historii terminala i mogą być widoczne w inspekcji procesu lub kontenera. Formularz celowo przyjmuje ścieżkę do --env-file, a nie listę wartości. Chroń sam plik, nie dodawaj go do repozytorium i w środowisku produkcyjnym rozważ mechanizm sekretów orkiestratora.

Wzorce plików, których nie należy wysyłać do obrazu, przygotuje generator .gitignore, a strukturę deklaratywnej konfiguracji możesz sprawdzić walidatorem YAML. Te narzędzia nie zastępują przeglądu praw dostępu i konfiguracji konkretnego hosta.

Restart i kontenery jednorazowe

--restart unless-stopped pasuje do usługi działającej stale. --rm pasuje do migracji, kompilacji lub jednorazowego skryptu, który ma zniknąć po zakończeniu. Docker nie pozwala połączyć polityki restartu z automatycznym usunięciem, dlatego generator zgłasza błąd zamiast tworzyć komendę, która zostanie odrzucona.

Najczęściej zadawane pytania

Dlaczego port jest przypięty do 127.0.0.1?

Bez adresu Docker zwykle publikuje port na wszystkich interfejsach hosta. Ustawienie loopback ogranicza przypadkowe wystawienie panelu lub bazy do Internetu. Publiczny dostęp dodaj świadomie przez reverse proxy i firewall.

Czy generator obsługuje Windows?

Wynik stosuje cytowanie powłoki POSIX dla Linuxa, macOS i WSL. Docker Desktop akceptuje ścieżki z literą dysku jako źródło wolumenu, ale PowerShell ma inne reguły cytowania. W czystym PowerShellu sprawdź i dostosuj zapis argumentów.

Czym różni się --env-file od -e?

-e ustawia pojedynczą zmienną w poleceniu. --env-file wczytuje wiele wpisów z pliku i ogranicza obecność wartości w historii powłoki. Plik nadal musi mieć właściwe uprawnienia i nie powinien trafić do repozytorium.

Czy mogę połączyć --rm z --restart?

Nie. Pierwsza opcja żąda usunięcia kontenera po zakończeniu, a druga zakłada jego ponowne uruchamianie. Generator wykrywa konflikt. Dla zadania jednorazowego wyłącz restart; dla usługi długotrwałej wyłącz automatyczne usuwanie.

Dlaczego generator blokuje docker.sock?

Proces z dostępem do gniazda może tworzyć uprzywilejowane kontenery i montować pliki hosta, co praktycznie daje kontrolę nad maszyną. Jeśli naprawdę potrzebujesz takiej architektury, zaprojektuj osobny, ograniczony pośrednik API zamiast bezpośredniego montowania.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!