![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Zapoznaję się z dockerem i mam jeden problem. Dla każdego kontenera chcę mieć inne IP. Różne IP potrzebne mi do przypisania domeny w pliku hosts (win 10). Da się to jakoś rozwiązać? W sieci nic nie znalazłem. Docker zainstalowany na win10.
|
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
czemu nie przypiszesz hosta do localhost?
127.0.0.1 twojhost Przeciez doker wystawia kontenery dostepne na localhost |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Chodzi o to, że mam dodane 3 przykładowe kontenery. Adres w przeglądarce wygląda tak:
http://192.168.99.100:12/ Problem w tym, ze każdy kontener ma takie samo IP. Różne są tylko porty. Chcę podpiąć różne domeny pod kontenery, np. projekt1.dev, projekt2.dev itd. Żeby zrobić to w pliku hosts kontenery nie mogą mieć takiego samego IP. |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Jesli twoje projekty sie w zaden sposob nie komunikuja ze soba to zrob jak mowilem. Startujac kontener mowisz ze ma sie mapowac na port 80 localhost i po sprawie. Pracujac nad jednym projektem startujesz jeden stopujesz drugie . Przerzucasz sie na drugi to stopujesz pierwszy i startujesz drugi.
Jesli zas projekty maja sie widziec nawzajem to polecam docker-compose. Choc nawet i bez tego mozesz przeciez odpalac jeden kontener na dwa rozne projekty. Przeciez konter sluzy tylko i wylacznie do odpalenia nginx/apache. Kod moze miec z roznych zrodel. Chyba poprostu przekombinowales (IMG:style_emoticons/default/wink.gif) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Jeżeli nie ma żadnego prostego rozwiązania, zrobię jak piszesz. W sumie komunikacja będzie tylko pomiędzy 2 kontenerami (mysql + konkretny projekt). W takim wypadku dla kontenera z mysql ustawię inny port (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Ciesze sie, ze choc troche udalo mi sie ciebie przekonac (IMG:style_emoticons/default/smile.gif)
Nadal jednak wydaje sie, ze cos nie do konca robisz jak trzeba. Z twojego opisu wynika, ze masz jeden mysql na dwa projekty - ok. moze tak byc. Po co w takim razie masz zmieniac port dla mysql? Opisz moze dokladnie jak wyglada twoja sytuacja kontenerowo-projektowa bo odnosze wrazenie ze mozna by to poprawic (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Bardzo możliwe, że da się zrobić lepiej. Docker dopiero poznaję (IMG:style_emoticons/default/tongue.gif) Wcześniej używałem xamp.
Na co dzień będę mieć kilka projektów. Dwie aplikacje napisane w PHP + aktualnie wdrażane strony pod WP. Wydaje mi się, że najbardziej sensownie będzie stworzyć jeden kontener z mysql/phpmyadmin. A dla każdego projektu osobny kontener z apache/php. |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Nie.
Idea docker jest prosta: jeden proces - jeden kontener. mysql - jeden kontener php - jeden kontener apache(proponuje przesiasc sie na nginx) - jeden kontener. By moc tym wszystkim ladnie zarzadzac polecam docker-compose to naprawde zajebiscie ulatwia wszystko. Dla kazdego projektu tworzysz konfiguracje z 3 kontenerow (wersja podstawowa rzecz jasna. Jak dojda inne rzeczy to kontenerow bedzie wiecej) Pracujac nad danym projektem poprostu piszesz docker-compose up i wstaja ci wszystkie niezbedne kontenery dla tego projektu. Tutaj opisalem wstepnie jak sie pracuje z docker-compose http://nospor.pl/docker-zaprzegamy-kontenery-do-pracy.html pisalem to gdy sam zaczynalem, teraz juz stosuje troche inna konfiguracje, nie mniej jednak artykul w miare dobrze wyjasnia podstawy docker-compose. Dzieki temu masz porzadek w konfiguracji i w systemie i wszystko lezy gdzie ma lezec i latwo mozesz podmieniac klocki. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Czyli powinienem stworzyć:
* 1 kontener z serwerem apache - jedna aplikacja stoi na apache i na ten moment nie mam możliwości zmiany tego. Nginx sobie postawię osobno do nauki/testowania * 1 kontener z mysql * 1 kontener z phpmyadmin * 1 obraz dla każdej wersji PHP I teraz dla każdego projektu odpalam kontener z obrazu odpowiedniej wersji PHP. Kontener łączę z 3 kontenerami wymienionymi wyżej. Jeżeli w przyszłości będę czegoś potrzebował dodatkowo, stawiam osobny kontener. Dobrze teraz rozumiem? (IMG:style_emoticons/default/smile.gif) Mając obrazy jestem w stanie szybko postawić sobie środowisko pracy na dowolnym systemie. |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
phpmyadmin - po co sie uzerac z tym badziedziem, skoro masz cala mase darmowych GUI?
Cytat I teraz dla każdego projektu odpalam kontener z obrazu odpowiedniej wersji PHP. Kontener łączę z 3 kontenerami wymienionymi wyżej. Jeżeli w przyszłości będę czegoś potrzebował dodatkowo, stawiam osobny kontener. Mozesz, ale to nadal nie to (IMG:style_emoticons/default/wink.gif) Kazdy projekt powinien miec swoj wlasny zestaw kontenerow. Ty zas probujesz stworzyc uniwersalne kontenery ktore beda wykorzystywane przez kazdy z projektow. No mozna i tak, ale czyz nie lepiej od razu zaczac pisac porzadnie skoro jestes wlasnie na etapie nauki? (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%)
|
Docker działa w taki sposób że każdy kontener ma swoje osobne IP i jest to fundamentalna zasada działania dockera. Jeżeli każde ma takie samo IP tylko różne porty, to albo:
- masz jeden kontener a w nim wszystko (aka naleciałość vagranta) - windows ma taki sam problem jak maki z dockerem (jedyny dostęp do kontenera to bindowanie go do localhosta, bo nie ma dostępu do sieci docker0) - używasz virtualboxa w którym masz tylko jedną maszynę i tylko jeden IP - połączenie kilku/wszystkich powyższych Jeżeli którykolwiek z powyższych ciebie dotyczy, to zrób tak jak pisze @nospor. Może początkowo ciężko zrozumieć dlaczego tak się robi a nie inaczej, tak później bardzo wiele rzeczy się klaruje i każde inne sposoby są zwyczajnie złe. |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
@nospor
Utworzę sobie obrazy odpowiednie i na ich bazie będę tworzyć kontenery dla projektu @by_ikar Mam testowo 3 kontenery, więc to odpada. Punkty 2 i 3 prawdopodobne (IMG:style_emoticons/default/smile.gif) Zrobię tak jak mospor radził. Dzięki za pomoc. Mam taki DockerFile: Kod # A basic apache server. To use either add or bind mount content under /var/www FROM phusion/baseimage MAINTAINER Lukasz <kontakt@lukasz-socha.pl> version: 0.1 RUN apt-get update && \ apt-get install -y apache2 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_PID_FILE /var/run/apache2.pid ENV APACHE_RUN_DIR /var/run/apache2 ENV APACHE_LOCK_DIR /var/lock/apache2 ENV APACHE_LOG_DIR /var/log/apache2 RUN mkdir -p /var/run /var/lock/apache2 /var/log EXPOSE 80 CMD ["apache2","-D","FOREGROUND"] W PowerSHell ciągle mam: Kod Windows PowerShell Copyright (C) 2016 Microsoft Corporation. All rights reserved. PS C:\Program Files\Docker Toolbox> cd Z:\Projekty\dev PS Z:\Projekty\dev> docker build -t apache2 images/apache2 Sending build context to Docker daemon 2.56 kB Step 1 : FROM phusion/baseimage latest: Pulling from phusion/baseimage f069f1d21059: Already exists ecbeec5633cf: Already exists ea6f18256d63: Already exists 54bde7b02897: Already exists a3ed95caeb02: Already exists ce9e695a6234: Waiting Ile taki obraz powinien się tworzyć? |
|
|
|
Post
#13
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Na linux calkiem szybko (IMG:style_emoticons/default/wink.gif) Ale tobie teraz poki co to wisi na sciaganiu obrazow a nie na ich budowaniu
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
W podglądzie sieci nie widzę by coś się pobierało. Już grubo ponad godzinę czekam, a internetu nie mam najwolniejszego... ~8 Mb/s
|
|
|
|
Post
#15
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Moze cos u nich na linii. Poprostu przerwij i spobuj ponownie. Nie ma sensu czekac godzine (IMG:style_emoticons/default/smile.gif) Pobieranie obrazow to moment (no, w zaleznosci od neta, ale zawsze jest procent pokazany, przynajmniej na linux (IMG:style_emoticons/default/wink.gif) )
A wlasnie, wywal tego windowsa i zainstaluj linux. Ze tez sie tak chlopie meczysz na swieta (IMG:style_emoticons/default/wink.gif) |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Obraz już się ładnie pobiera. Kolejnym problemem jest brak możliwości montowania folderów spoza c:\Users... Docker nie lubi się zbytnio z Windowsem (IMG:style_emoticons/default/tongue.gif)
@nospor Tylko na linuksie znowu nie odpalę Photoshopa i często miałem problemy np. z Skype. Mam Mint jako 2 system, ale nie uśmiecha mi się skakanie z systemu na system podczas pracy. |
|
|
|
Post
#17
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Moj "szef" tez uzywa windy. Ale gdy pracuje z naszymi projektami odpala linux na virtualbox i tam uzywa docker dla naszych projektow. Jakos zyje (IMG:style_emoticons/default/wink.gif)
ps: nie mam problemow ze skype. Ale ja jade na kubuntu. Co do photoshop: a co ty, grafik? |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%)
|
Cytat Tylko na linuksie znowu nie odpalę Photoshopa Zależy którego, u mnie CS6 działa bez problemu ;] |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
Jeśli działasz na Windows i natywny Docker nie działa za dobrze to możesz skorzystać z docker-machine. W skrócie jest to Docker w obrazie maszyny wirtualnej (domyślnie VirtualBox). Czyli odpalasz VM, na niej Dockera, nazwy hostów mapujesz do IP VMki zamiast do swojego lokalnego IP jak w przypadku natywnego Dockera.
|
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
@vokiel Docker natywnie działa tylko na linuksie (IMG:style_emoticons/default/wink.gif)
|
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
@Pyton_000 nie jesteś na bieżąco
Cytat Docker for Windows is our newest offering for PCs. It runs as a native Windows application and uses Hyper-V to virtualize the Docker Engine environment and Linux kernel-specific features for the Docker daemon. https://docs.docker.com/engine/installation/windows/ Cytat Docker for Mac is our newest offering for the Mac. It runs as a native Mac application and uses xhyve to virtualize the Docker Engine environment and Linux kernel-specific features for the Docker daemon. https://docs.docker.com/engine/installation/mac/ |
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
Taaa... Faktycznie ale co z tego:
Cytat Requirements
64bit Windows 10 Pro, Enterprise and Education (1511 November update, Build 10586 or later). In the future we will support more versions of Windows 10. The Hyper-V package must be enabled. The Docker for Windows installer will enable it for you, if needed. (This requires a reboot). |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 16:34 |