W ten sposób kontener nie posiada nawet shella. A obraz jest praktycznie wielkosci binarki.


@PanPrzewodniczacy: no git. To prawie robisz to samo co to co wkleiłem wyżej tylko mniej. Bo to cudo jeszcze śledzi syscalle i odwołania do plików więc trudniej trafić na sytuację, że ci zapomnisz ręcznie jakis libów systemowych dorzucić np przy projekcie w javie albo pythonie.

Do tego ten docker-slim działa z docker-compose
  • Odpowiedz
Mam w kontenerze postawionego nginxa który serwuje aplikacje frontendową i dodatkowo robi za reverse proxy do API.
Teraz chciałbym zabezpieczyć te komunikacje po https i tutaj się gubię w portach bo na ten moment port z kontenera który wychodzi na świat to port 80.
Czy wystarczy ze wewnątrz kontenera w configu nginxa ustawie przekazywanie
80 -> 443 i na zewnątrz wciąż jedyny otwarty port to będzie 80, czy muszę tez wystawić port
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Di4bllo: Domyślnie HTTPS działa na porcie 443, nie powinno się serwować na innym (na świat - wewnętrzne usługi to inna sprawa). Jak musisz z jakiegoś powodu, to możesz wystawić na porcie 80, ale będzie brzydko (https://domena.tld:80), niezgodnie ze standardami i dobrymi praktykami i pewnie coś prędzej czy później się sypnie.
  • Odpowiedz
Nie rozumiem, jak w końcu działa to USER w #docker. W dokumentacji jest napisane:

The USER instruction sets the user name (or UID) and optionally the user group (or GID) to use when running the image and for any RUN, CMD and ENTRYPOINT instructions that follow it in the Dockerfile.


Mam taki
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Feargan: Dlatego, że CMD albo ENTRYPOINT może być tylko jedno i jest to komenda, która się uruchomi jak odpali się klontener. Kontener jest zbudowany tak, że USER to user, bo "przykrywa" to poprzednią komendę USER. Jak zmiast ENTRYPOINT dassz RUN to dostaniesz "root".
  • Odpowiedz
@yggdrasil:

CMD albo ENTRYPOINT może być tylko jedno

Właściwie to może być ich wiele, tylko te wypisane jako ostatnie będą brane pod uwagę ¯\_(ツ)_/¯
Finalnie, tak - zostajemy z jednym entrypoint w zbudowanym obrazie.
  • Odpowiedz
tfw #docker desktop nie ma progressu przy updacie, więc muszę sobie odpalać activity monitor, żeby w ogóle zobaczyć, czy coś rzeczywiście ściąga (a potrafi śmieć tak stać jak widły w gnoju i nic nie robić) :/ kto podejmuje takie głupie decyzje uxowe
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jeśli na serwerze mam dwa kontenery, jeden z aplikacją frontendową i drugi z backendem. To żeby zabezpieczyć komunikację po https, to wystarczy że zakupiony certyfikat SSL, ustawię w kontenerze z frontendem (w konfiguracji nginx), czy na backendzie również muszę go odpowiednio skonfigurować?

#naukaprogramowania #programista15k #docker #java #programowanie
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Di4bllo: zależy jak to działa od zewnątrz? Kto serwuje frontend? Jak coś osobnego od backendu to potrzebujesz ogarnąć httpsa po obu stronach. Najprościej będzie:
* niech backend serwuje API i pliki frontowe
* albo jakiś serwer np. ngnix serwuje pliki frontowe i jest jednocześnie reverse proxy do backendu. W tym podejściu backend nie musi ogarniać httpsa, bo wszystko robi ngnix
  • Odpowiedz
@Di4bllo: polecam też opcję nr 2 od przedmówcy, a jak podepniesz api w jakiejś prefiksowanej ścieżce np. /api, to wszystko formalnie zostaje w tej samej domenie, więc z jednej strony nie trzeba certyfikatu z wildcard a z drugiej nie ma żadnego Cross-Origin do odblokowywania specjalnie bo to ciągle ta sama domena
  • Odpowiedz
#pytaniedoeksperta #komputery #serwery #plex #docker #nas #synology

Mireczki, jakie wasze zdanie, na serwer plexa, ewentualnie do zabawy z dockerem lepiej iść w Synogolgy NAS DS220+ z dodatkową pamięcią 8GB, czy może jednak Mini PC z linuxem? Dodam że nie zależy mi na bezpieczeństwie danych i nasa bym raczej używał z jednym dyskiem ewentualnie raid 0. Jakieś macie przemyślenia
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Klopsztanga: tyle ze bez gpu/igpu mozna zapomniec o transcodingu. O ile w wiekszosci wypadkow transcoding jest niepotrzebny o tyle zdarza mi sie go uzywac :)

@BooB: jak uwazasz. Nie wciskam na sile aczkolwiek wydaje sie najrozsadniejszym rozwiazaniem twojego problemu.
  • Odpowiedz
@BooB: no wiadomo, u mnie to główny focus był właśnie na niski pobór prądu, bo ja bardzo mało tego używam i mi było szkoda stawiać coś potężniejszego żeby na darmo ciągnęło prąd, wiesz, ja ogólnie też wszystko mam z gui więc to akurat nie problem, a co do adguard home, to właśnie sobie postawiłem na routerze bezpośrednio żeby jeszcze bardziej ograniczyć zużycie prądu, bo serwer jak nie używam to wyłączam,
  • Odpowiedz
Jeśli chcę mieć dostęp do kontenera z zewnątrz przez przeglądarkę to skąd mam wiedzieć jaki port zmapować przy uruchomieniu kontenera?
1. Uruchomiłem ubuntu docker run ubuntu bash
2. Zainstalowałem sobie pythona i inne potrzebne rzeczy
3. Zapisałem sobie plik typu hello world
4. Uruchomiłem apkę FLASKAPP=app.py flask run --host=0.0.0.0 i uruchomiło się na porcie 5000
5. Brak dostępu -> restart ubuntu z portem
docker run -p 8081:5000 ubuntu
nick230 - Jeśli chcę mieć dostęp do kontenera z zewnątrz przez przeglądarkę to skąd m...

źródło: comment_1655480372mDyrh3PvpwdBH6oTLblYQ6.jpg

Pobierz
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pytanie jak mogę się od razu dowiedzieć, że to jest port 5000, to jest jakas defaultowa znana wartosc? Dla mongo na przykład pisze na docker hub, że jest to 27017.


@nick230: Zawsze możesz sobie znaleźć port z użyciem netstat -plnt
  • Odpowiedz
@nick230 bardziej mnie interesuje czemu restart kontenera jest problemem, co by wskazywało na to że źle je używasz i nie rozumiesz przeznaczenia. Celem jest to żebyś mógł go ubić i wskrzesić i mieć niezmienne środowisko, a wszelki setup w środku winien być zautomatyzowany (np przez dockerfile)
  • Odpowiedz
@nick230: ważne jest też czy poprzedni kontener skasowałeś (rm) czy zatrzymałeś (stop). Jeżeli skasowałeś to prawdopodobnie nie skasowałeś jego volume, prawdopodobnie będziesz w stanie podmontować dane poprzedniego kontenera do nowego jeżeli się okaże że poprzedni kontener skasowałeś zamiast zatrzymać
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki z #programowanie i #macbook - w fimie chcą mi dać macbuczka, jeśli sobie zażyczę i chętnie bym spróbował, ale boję się, że przy moim #php i użyciu #docker to będzie męka a nie przyjemność. Wiem, że są tam problemy z system plików i to spowalnia pracę, ale na ile ten problem jest upierdliwy i czy ew da się na tyle podrasować ustawienia, żeby
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@masterix: z dockerem to jest lepiej i bardzo dużo zależy od obrazów jakie używasz.
u mnie w pracy pierwotnie wszystko było pobudowane bez wzięcia pod uwagę applowego ARM i czas response API to był liczony w sekundach (2-3s norma).
ale jak devops pobudował obrazy pod Apple Silicone, to response spadł do 200ms i robota bajka
  • Odpowiedz
@masterix: Mam linuksa, a w vagrant mam linuksa. Produkcja natomiast chodzi na procesorach ARM. Na produkcji też jest linuks.
Więc skoro M1 to ARM i na produkcji mamy ARM + Linux, stąd wniosek, że nawet jak zbudujesz obrazy pod ARM, to będą tak samo chodzić pod Linuksem jak i OSX.
  • Odpowiedz