[docker] Przypisanie różnych IP dla kontenerów |
[docker] Przypisanie różnych IP dla kontenerów |
22.12.2016, 14:50:44
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.
-------------------- |
|
|
22.12.2016, 14:53:52
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
czemu nie przypiszesz hosta do localhost?
127.0.0.1 twojhost Przeciez doker wystawia kontenery dostepne na localhost -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.12.2016, 15:00:01
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. -------------------- |
|
|
22.12.2016, 15:03:07
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 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 -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.12.2016, 15:17:15
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
-------------------- |
|
|
22.12.2016, 15:21:10
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
Ciesze sie, ze choc troche udalo mi sie ciebie przekonac
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 -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.12.2016, 15:29:13
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ę 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. -------------------- |
|
|
22.12.2016, 15:40:33
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 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. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.12.2016, 15:57:46
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? Mając obrazy jestem w stanie szybko postawić sobie środowisko pracy na dowolnym systemie. -------------------- |
|
|
22.12.2016, 16:08:55
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 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 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? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.12.2016, 17:46:13
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. |
|
|
24.12.2016, 15:52:11
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 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ć? -------------------- |
|
|
24.12.2016, 16:06:48
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
Na linux calkiem szybko Ale tobie teraz poki co to wisi na sciaganiu obrazow a nie na ich budowaniu
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
24.12.2016, 16:20:18
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
-------------------- |
|
|
24.12.2016, 16:24:36
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
Moze cos u nich na linii. Poprostu przerwij i spobuj ponownie. Nie ma sensu czekac godzine Pobieranie obrazow to moment (no, w zaleznosci od neta, ale zawsze jest procent pokazany, przynajmniej na linux )
A wlasnie, wywal tego windowsa i zainstaluj linux. Ze tez sie tak chlopie meczysz na swieta -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
28.12.2016, 16:57:59
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
@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. -------------------- |
|
|
28.12.2016, 21:32:03
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 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
ps: nie mam problemow ze skype. Ale ja jade na kubuntu. Co do photoshop: a co ty, grafik? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
28.12.2016, 22:32:23
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 ;] |
|
|
30.12.2016, 10:10:01
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.
-------------------- |
|
|
30.12.2016, 10:46:40
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
|
|
|
Wersja Lo-Fi | Aktualny czas: 20.04.2024 - 04:52 |