Coyote na Dockerze

Odpowiedz Nowy wątek
2019-04-09 09:10
0

Od jakiegoś czasu pracuje codziennie z dockerem toteż z pliku README usunąłęm całkowicie instrukcje instalacji ręcznej. Mamy też obsługę Vagranta dla użytkowników korzystających z Windowsa, ale bardzo możliwe że nie wszystko będzie działać. A może ktoś ma Dockera na Windowsa i mógłby sprawdzić czy na tym systemie wszystko dobrze się instaluje? Kiedyś @Marooned walczył z tym, ale nie udało mu się. Od tamtego czasu trochę minęło więc może tym razem będzie ok i będzie można usunąć pliki Vagrantowe z repo?

Podsyłam URL do repo: https://github.com/adam-boduch/coyote

Pozostało 580 znaków

2019-04-09 09:51
0

Z dockerem na Windows jest tak, że pod Win10 jest inny klient niż pod starsze Win i to z nimi przegrałem. Nie testowałem Dockera na Win10, to inna para kaloszy.


testowałem Dockera na Win10 z rok temu, koniec końców poddaliśmy się i docker śmigał ale na VM na której był Linux... - superdurszlak 2019-04-09 09:53
Dlatego wybrałem Vagranta. To po prostu działa. - Marooned 2019-04-09 09:55
Bawię się Dockerem pod Windows 10 i działa - przetestuję w wolnej chwili. - Ktos 2019-04-09 11:43
Sęk w tym, by odpalić to pod poprzednimi systemami. - Marooned 2019-04-09 13:27

Pozostało 580 znaków

2019-04-10 00:25
2

Nie działa :(

Problem polega na tym, że Postgres nie startuje:

db_1             | creating subdirectories ... ok
db_1             | selecting default max_connections ... 20
db_1             | selecting default shared_buffers ... 400kB
db_1             | selecting dynamic shared memory implementation ... posix
db_1             | creating configuration files ... ok
db_1             | running bootstrap script ... 2019-04-09 22:19:07.648 UTC [76] FATAL:  data directory "/var/lib/postgresql/data" has wrong ownership
db_1             | 2019-04-09 22:19:07.648 UTC [76] HINT:  The server must be started by the user that owns the data directory.
db_1             | child process exited with exit code 1
db_1             | initdb: removing contents of data directory "/var/lib/postgresql/data"

A Postgres nie startuje, bo najwyraźniej od dwóch lat jest to problem: https://github.com/docker-library/postgres/issues/435, a w zasadzie to chodzi o to https://github.com/docker/for-win/issues/445.

W tym pierwszym issue jest opisane rozwiązanie z nazywanymi woluminami, jutro spróbuję to zmusić do działania.

Pozostało 580 znaków

2019-04-10 08:45
0

Może to dlatego, że postgres zapisuje dane poza kontenerem?

services:
  db:
    image: postgres
    volumes:
      - ./.data/pgsql:/var/lib/postgresql/data:z
    environment:
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: ${DB_DATABASE}
    ports:
      - 5432:5432

Pozostało 580 znaków

2019-04-15 20:54
2

Okazuje się, że tak, wystarczy zrobić "named volume" dla Postgresa i zaczyna on działać.

Aczkolwiek zrobiło mi się coś jeszcze - nginx intensywnie używał pliku "default.conf" (w /etc/nginx/conf.d wewnątrz kontenera), stąd wszystkie zapytania do całego nginx szły właśnie do tego vhosta, a nie do Coyote (i ciągle miałem "Welcome to nginx!"). Pozbyłem się tego robiąc coś takiego:

  nginx:
    image: nginx:latest
    volumes:
      - ./docker/nginx/:/etc/nginx/conf.d/

Aby na pewno tylko pliki Coyote znalazły się w conf.d i pomogło.

Różnice wyglądają następująco: https://github.com/adam-boduc[...]e90c6228fd48698d074241c2ba760

W zasadzie dałoby się prawdopodobnie przenieść ścieżkę ./.data/pgsql, aby była w .env i wtedy plik ze zmiennymi środowiskowymi dla wszystkiego miałby tam wpisane właśnie to, a pod Windows miałby postgres i odwoływałby się do named volume. Nie wiem czy to dobra droga, ale nie mam innego pomysłu, aby nie robić różnych docker-compose dla różnych systemów.

Niemniej, po takich poprawkach, działa.

Pozostało 580 znaków

2019-04-15 21:22
0

Super. Sprawdzimy jeszcze czy jest ok pod linuxem i można zrobić merge :)

Pozostało 580 znaków

2019-04-15 22:28
1

Docker pod Win10, to jest... wirtualka z linuksem, stąd się Hyper-V odpala, a to "uwala" normalne hypervisory typu VirtualBox lub VMware, a przynajmniej wymaga ich rekonfiguracji do ponownego działania. Generalnie tego rozwiązania nie polecam, lepiej już odpalać dockera pod "normalną" VMką z Linuksem jak już ktoś używa Windows.

Pozostało 580 znaków

2019-04-15 22:39
0

@Adam Boduch: ale może można by w README umieścić dwa sposoby instalacji: i automatyczną, i ręczną?


Pozostało 580 znaków

2019-04-16 06:50
0

Właśnie usunąłem z README instrukcje instalacji ręcznej abym nie musiał tego supportować :) Zmiana wersji biblioteki, dodanie/usunięcie innej. Trzeba pamiętać o tym, aby uaktualniać README i przetestować czy na pewno działa.

Pozostało 580 znaków

2019-04-16 14:40
0

W porządku. Jak w końcu zrobię dokumentację do Coyote, to sam będę supportować. ;)


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0