Chciałbym uruchomić aplikację PHP w kontenerze Docker. O ile przy tworzeniu Dockerfile nie ma problemu z pobraniem kontenera nginx, to zastanawiam się jak do tego kontenera dodać również php7.0-fpm.

Czy można dodać kilka instrukcji FROM tak aby razem ze sobą współpracowały?

#docker #nginx
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ImReally: Póki co rozwiązałem to w taki sposób, że podczas uruchamiania kontenera, nie odpalam od razu nginxa, ale jako entrypoint mam skrypt, który kopiuje mi zawartość z kontenera do zmapowanego katalogu. Działa. Aczkolwiek wywala się coś przy prawach dostępu do /var/cache(symfony) ale to ogarnę :)
  • Odpowiedz
@pepepanpatryk: Całe repo mam w git. W przypadku deploymentu na produkcję robię git pull i uruchamiam skrypt, który przez docker-compose restartuje mi kontener z aplikacją (u mnie musi pójść gulp, który kompiluje kod do postaci produkcyjnej). I z grubsza tyle.
  • Odpowiedz
@Adi32 polecam Ci na jakiejs innej partycji niz system zrobic sobie fsarchiverem kopie patrycji na ktorej jest system, potem w 7 min masz dokladnie to co w momencie zapisu, a plus jest taki, że kopie robisz bezposrednio na włączonym systemie, ja sobie co jakis czas odpalam cos takiego i w trakcie przegladam neta
  • Odpowiedz
IT_Mirki mam problem. W chooj instancji tej samej apki na dockerze (Rancher trzyma za mordę klaster). Apka ma mieć swoje pliki danych i tutaj fuckup. Potrzebuję wspólnego "dysku" RW dla wszystkich żeby jak klient podłączony do jednego kontenera napisze k---a to każdy klient podpięty do dowolnego innego zobaczy tą k---ę. Może to być rozwiązanie sql, nosql, plikowe albo jakieś inne rozsądne rozwiązanie które nie w-------i 1/3 ramu i 2/3 iopsów na dyskach
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@HachiRoku: no to tak:

Logi - tutaj najbardziej sprawdzi się ELK. Ogólnie dobrze napisana apka pod cloud powinna pchać logi na stdout a nie zapisywać do pliku. Natomiast docker czy inny mechanizm, który uruchamia aplikację powinien je przechwytywać i pchać do centralnego systemu (warto poczytać 12 factor app)

Sesja - dobrym pomysłem jest trzymanie ich w rozproszonym cache (np Redis)

Dame użytkowników - tu już różnie, zależy od ich natury,
  • Odpowiedz
O dockerze wiem i potrafie tyle, że pobieram gotowe obrazy i je uruchamiam. Jednak chciałbym zdockeryzować całą aplikację w Springu wraz z otoczeniem (RabbitMQ, MySQL). Chciałbym też mieć możliwość skalowania instancji. Jak najlepiej do tego podejść - 1 obraz per aplikacja, czy jakie są best practices?

#programista15k #programowanie #docker
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@3denos: bo nie zyskujemy nic a dokładamy sobie dodatkowe problemy, nie istniejące np. na wirtialkach.
Docker jest za to idealny do bezstanowych apek, które możesz odpalić w wielu instancjach i np bez problemu położyć i podnieść na innym hoscie
  • Odpowiedz
@dog_meat: Nie chce tu rozpoczynać niepotrzebnych dyskusji, ale stwierdzenie, że "coś jest kiepskim pomysłem" brzmi tutaj jako stanowczy antypattern, a nie do końca tak jest. Zaznaczę tylko, że jednym z przykładów w dokumentacji dockera jest dockeryzacja postgresqla: tutaj, jest to wspierane składniowo w dockerfile'u i kilka firm, np. Uber chwali się ciekawymi produkcyjnymi rozwiązaniami z użyciem baz danych i dockera.

Trochę dyskusji też: tutaj i tutaj.
  • Odpowiedz
Używa ktoś z Was dockera na windowsie? Jak to jest z tym docker-engine i docker-machine - czy mogę uruchamiać kontenery na samym engine bez tworzenie wirtualnej maszyny? Ma to jakieś ograniczenia np. tylko kontenery oparte o windows? Przygotowuję materiały do szkolenia z testowania i stworzyłem system do testów, mam do tego plik docker-compose m.in z kontenerami mysql, nginx, haproxy i własnym api (kontener java:8). Na linuxie stawia się to pięknie, każdy kontener
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@LiczbaPi docker na windowsie to droga przez mękę. Zresztą, okazuje się, że na Macu też ;).
Może być łatwiej jeśli masz Windows Professional z obsługą Hyper-V. Wtedy docker powinien działać natywnie. Musisz tylko pamiętać, że wtedy przestanie działać VirtualBox
  • Odpowiedz
Mirki korzysta ktoś z #rider oraz #docker?

Czy jest możliwość, aby na hoście (windows) miał Ridera, jednakże cały build programu oraz jego uruchomienie odbywało się w kontenerze dockera hostowanym na linuxie na wirtualnej maszynie?

#programowanie
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, jezli wyexposeowalem serwis dockera na tym porcie (patrz screenshot) zeby moc sie do niego laczyc z windowsowego basha, to jets on tak samo otwarty dla wszystkich innych w mojej sieci lokalnej? Potrzebuje na to jakies regulki na windowsowym firewallu poustawiac? (chce zeby nie byl dostpeny)

#docker #windows #bash #firewall #security #devops #sysadmin
erwit - Mirki, jezli wyexposeowalem serwis dockera na tym porcie (patrz screenshot) z...

źródło: comment_Q8Fh9X7u2vbsnfZp78xAWHHGecND9DoY.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Tam masz localhost, a więc 127.0.0.1, to adres dostępny tylko z komputera lokalnie, inne komputery w Twojej sieci nie dostaną się pod adres lokalny Twojego komputera. Jest to możliwe, jak zrobisz tunelowanie zwrotne, ale to inny temat.
  • Odpowiedz
Cześć, chciałbym się poradzić gdyż dopiero rozpoczynam przygodę z #docker dlatego chciałbym o coś zapytać. Czy da się zrobić obraz który będzie zawierał tylko pliki aplikacji jakieś (PHP) ? Potem chciałbym zrobić z tego kilka kontenerów. I te kontenery chciałbym połączyć z kontenerami (nginx, mysql, PHP) #php #nginx #programowanie
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#docker kurna olek widziałem fajna aplikację na dockera która służy do zarządzania zadaniami zespołu ale kurza twarz nie mogę jej znaleźć. Pomoże ktoś? :(
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki dobrze rozumiem. Mam kilka serwisów w k8s. Każdy z kilku podów. Odpalam serwis ingressa. Tam konfiguruję ścieżki dla każdego serwisu jak w dokumentacji kubera:

- host: foo.bar.com
http:
paths:
- path: /foo
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

A i jeszcze. Rozumiem że jak mam ip zew to albo przekierowuję porty usługi na maszynę gdzie ona stoi. A w przypadku kubernetesa? Do czego podpiąć ip albo przekierować porty? Na mastera czy node gdzie jest serwis ingress?
  • Odpowiedz
Szanowni Mirkowicze, przedstawiamy wam pierwszego z prelegentów #linuxdays #2

Jarosław Stakun pracujący w Red Hat wystąpi z pokazem praktycznym: "Konteneryzacja aplikacji w Red Hat Openshift Container Platform bazującej na Kubernetes i Docker."

Jarek pracuje jako Architekt rozwiązań IT w firmie Red Hat i jest odpowiedzialny za wsparcie sprzedaży i wdrożeń rozwiązań opartych na technologii Red Hat JBoss Middleware oraz Openshift Container Platform u klientów z różnych sektorów w regionie Europy Centralnej i Wschodniej. Posiada wieloletnie doświadczenie w technologiach middleware ze szczególnym uwzględnieniem platform serwerów aplikacyjnych, integracji systemów, automatyzacji procesów biznesowych oraz
bezpieczeństwa systemów IT, rozwiązań chmurowych, mobilnych i konteneryzacji środowisk aplikacyjnych.
OpenCulture - Szanowni Mirkowicze, przedstawiamy wam pierwszego z prelegentów #LinuxD...

źródło: comment_pudFFLlwGnPeo6yX6ZTnYbvZmUFwwqXh.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, ktoś może używa Ryżena do #programowanie? Za niedługo chcę sobie sprawić #pcmasterrace do grania i developerki (vagrant, docker). Gdzieś trafiłem opinie, że ryżen nie jest za pan brat z #docker (potrafi odwalić) i tak zacząłem się zastanawiać. Myślicie, że ryżen to dobry wybór czy lepiej dopłacić i iść w i7-8700K
#ryzen #intel #komputery #programista15k
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam problem z #sql i #mysql:
Zaczynam transakcję
Robię LOCK TABLES na kilku tabelach
// działam: pobieram dane, jakieś updaty, inserty
UNLOCK TABLES;
koniec
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@masterix: Przede wszystkim potrzebujesz logów z serwera, żeby wiedzieć czemu "gone away". Może mu brakło pamięci. LOCK TABLES nie jest dobrym pomysłem na zabezpieczenie transakcji, zwłaszcza na kilku, jeśli ich nie potrzebujesz - to proszenie się o deadlocki i timeouty.
Poczytaj o SELECT ... FOR UPDATE w transakcji. Może w zupełności wystarczyć na Twoje potrzeby.
  • Odpowiedz
@masterix: tworzę ogromne, na serio ogromne systemy ERP. Spływają tu zamówienia, wydania, magazyn, logistyka i w żadnym z nich nie występuje "LOCK TABLES" (no, może w funkcjach czysto serwisowych).
Ciężko mi stwierdzić co próbujesz zrobić z tymi "jakimiś błędami", ale podejrzewam, że idziesz nie w tę stronę i się sam zabijasz przy "konkurencyjności" połączeń.
InnoDB, FOR UPDATE, transakcje - więcej Ci nie trzeba.
  • Odpowiedz
@dzek tylko kvm. Webh po pierwsze dlatego że mam od półtora roku, wszystko na docker, kilkanaście do kilkudziesięciu kontenerów i wszystko jak zyleta,a po drugie mogę dać ci kod na 20% :)
  • Odpowiedz
#docker
Mam problem z zaimportowaniem wlasnej bazy danych.
w docker-compose.yml db - > volumes
./dump.sql:/docker-entrypoint-initdb.d/dump.sql
Co robie zle?
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dobry wieczór mirki.

Do tej pory do budowania projektów używałem Jenkinsa, ale postawiłem przetestować Gitlab CI. Mam jednak pewien problem. Nie chcę używać teraz dockera do uruchamiania projektu, a po prostu zainstalować projekt na VPS. Jednak jak rozumiem, Gitlab do zbudowania projektu uruchamia Dockera i buduje w nim projekt. Powoduje to jednak taki problem, że podczas uruchamiania polecenia php bin/console doctrine:schema:update --force build pada, ponieważ symfony nie może połączyć się z bazą danych. W jaki sposób mam osiągnąć takie coś:
1. Mam VPS z PHP, MySQL, NodeJs.
2. Chcę zbudować projekt korzystając z Gitlab CI bez dockeryzacji projektu.

plik
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@plushy: Dzięki za pomoc!
Moje błędy:
1. runner był zarejestrowany, ale był nieaktywny, bo miałem złą ścieżkę na serwerze /home/gitlab_runner zamiast /home/gitlab-runner
2. Miałem aktywne shared runners, które uruchamiały się zamiast mojego runnera, więc je wyłączyłem.

Teraz wszystko działa poprawnie ;)
  • Odpowiedz
Mirki i Węgierki, jedzcie ze mną kanapki!

Wielmożni Moderatorzy Utopian zaakceptowali moje zgłoszenie tutoriala: https://steemit.com/utopian-io/@breadcentric/software-development-infrastructure-part-0x01-setting-things-up-docker

#naukaprogramowania może być zainteresowana, będę bowiem zestawiał całe środowisko: Gitlab, Jenkins, Nexus, zrobię projekt/projekty, będę eksperymentował nieco z budowaniem i wypuszczaniem oprogramowania na produkcję. Głównie będzie #java

To
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@yggdrasil: Bo lubię Jenkinsa i nie lubię zbytnio kombajnów. W pracy mam takie uwarunkowania, że korzystanie z Gitlab CI jest mało prawdopodobne.
  • Odpowiedz