@ru_docker

Страница 558 из 610
NIck
06.03.2019
15:31:13
проще чем с VMware
Наверно, мне нужно перестроить голову и логику на эту простоту. Я пока не понимаю. ?

Maxim
06.03.2019
15:31:38
Максим, я просто могу на одном ядре в Vmware запустить Ubuntu с nginx и все будет работать, для тестирования и будет отзываться из внутренней сети. Но с docker сделать такое я не знаю, как.
давайте вернемся к арихметике, у вас есть 8 ядер, одна виртуалка требует одно ядро, сколько одновременно виртуалок вы сможете запустить при данных ограничениях?

Maxim
06.03.2019
15:33:08
7
ок, допустим вам повезло и 7 смогли включиться, как вы думаете хватит ли вам 7 виртуалок что бы запустить проект который состоит из 43 виртуальных машин?

Google
NIck
06.03.2019
15:33:31
Максим, простой docker-compose.yml: version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: default: driver: "transparent"

Но он не работает для nginx, я сетями не могу разобраться как сделать.

NIck
06.03.2019
15:35:14
ок, допустим вам повезло и 7 смогли включиться, как вы думаете хватит ли вам 7 виртуалок что бы запустить проект который состоит из 43 виртуальных машин?
Ну не хватит. Но я не понимаю, как это правильно сделать и как эти 43 виртуальные машины/задачи, если нужно могут общаться между собой. Пример, как создать кластер из 3 centos/ubuntu на docker ?

Maxim
06.03.2019
15:35:28
NIck
06.03.2019
15:38:05
ну и сети должны все таки иметь имена, без имени ей сложно жить
Примеры, нде-то можно найти, как могу/должны назыыаться разные сети/сетевые интерфейсы и варианты подключения docker-задачи/машины к сети.

Maxim
06.03.2019
15:39:10
Ну не хватит. Но я не понимаю, как это правильно сделать и как эти 43 виртуальные машины/задачи, если нужно могут общаться между собой. Пример, как создать кластер из 3 centos/ubuntu на docker ?
1) создаем обычную сеть с помощью docker network create my_first_network 2) в docker-compose.yml мы указываем вт такую директиву networks: my_first_network: external: name: my_first_network 3) в сервисе в docker-compose.yml из шага 2 указываем networks: - my_first_network сервис будет доступен в сети my_first_network

Примеры, нде-то можно найти, как могу/должны назыыаться разные сети/сетевые интерфейсы и варианты подключения docker-задачи/машины к сети.
docker network в обычной документации описывает все типы которые можно создавать из коробки, а так же описание всех возможных вариантов их использования

NIck
06.03.2019
15:41:33
Значит, я что-то не понимаю или ... ?

version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: - nginx_tr networks: nginx_tr: default: driver: "transparent"

Так тоже не проходит и непонятная ошибка. ?

Maxim
06.03.2019
15:42:10
Google
NIck
06.03.2019
15:42:12
Ошибка: ERROR: no matching manifest for unknown in the manifest list entries

5b6e9a3fb201 tnet transparent local

Maxim
06.03.2019
15:43:04
Ошибка: ERROR: no matching manifest for unknown in the manifest list entries
создайте сеть командой docker network create nginx_network

NIck
06.03.2019
15:43:05
docker network ls

Создал сеть: 5b6e9a3fb201 tnet transparent local

Maxim
06.03.2019
15:45:06
docker network ls
docker network create nginx_network

NIck
06.03.2019
15:45:20
version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: - nginx_tr networks: nginx_tr: default: name: "tnet"

Так тоже не работает. ?

Maxim
06.03.2019
15:46:13
Так тоже не работает. ?
что вам выдает в ответе команда ? docker network create nginx_network

NIck
06.03.2019
15:46:32
Error response from daemon: could not find plugin bridge in v1 plugin registry: plugin not found

У меня Windows контейнеры.

Maxim
06.03.2019
15:47:05
version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: - tnet networks: tnet: external: name: "tnet"

NIck
06.03.2019
15:48:46
Только tnet - это сеть у меня типа "transparent", такой тип сети есть для windows контейнеров. Наверно Вы правы и нужно перейти на Linux контейнеры.

NIck
06.03.2019
15:51:15
Да, извращение у меня, контейнеры использую на машину под Windows 10 Pro. ?

Наверно переведу тип контейнеров Linux-based и будет полная эмуляция как docker под Linux.

Maxim
06.03.2019
15:54:04
Наверно переведу тип контейнеров Linux-based и будет полная эмуляция как docker под Linux.
а что это за перевод контейнеров? можете скриншот скинуть?

NIck
06.03.2019
15:56:24
а что это за перевод контейнеров? можете скриншот скинуть?
В Windows есть переключение "Switch to Linux containers" или на оборот в Windows.

Google
Maxim
06.03.2019
15:58:07
В Windows есть переключение "Switch to Linux containers" или на оборот в Windows.
наверное это для мокрософтовских контейнеров типа mssqlserver, вам нужен linux containers

NIck
06.03.2019
17:19:45
наверное это для мокрософтовских контейнеров типа mssqlserver, вам нужен linux containers
С Linux-контейнерами все работает. version: '3' services: nginx: image: "nginx:latest" ports: - "8080:80" volumes: - "./html/index.html:/usr/share/nginx/html/index.html"

Только остается вопрос, как сделать, чтобы nginx работал не http://localhost:8080/, а например http://192.168.100.10:8080/

Maxim
06.03.2019
17:23:35
Только остается вопрос, как сделать, чтобы nginx работал не http://localhost:8080/, а например http://192.168.100.10:8080/
лучше по доменам обращаться к nginx, сегодня у вас 100.10, завтра другой, а на других серверах третьи, поэтому, скорее всего, в вашем случае лучше по доменам, да и с портами не придется потом ломать голову

NIck
06.03.2019
17:24:59
Мне пример или принцип понять нужно, не понимаю я, что написано в документации по docker. ?(( Принципа не понимаю. ?

Maxim
06.03.2019
17:27:16
Я согласен, про IP-адреса и домены. Пусть будет, как сделать, как прописать в docker-compose.yml, чтобы nginx отзываля по http://site1.ru:8080/
для того что бы избавиться от порта в адресе после домена вам необходим реверствный прокси, например traefik.io достаточно удобным будет для вас, минимум настроек, максимум удовольствия

NIck
06.03.2019
17:27:36
в доке есть про это
У меня не Linux, у меня машина на которой запущен docker - это Windows. Это реально на ней сделать ? В доках все для Linux.

NIck
06.03.2019
17:28:47
Проблемы в и с Linux, нет, знаю и и понимаю, прсто дома бук один и он под Windows. ?

Maxim
06.03.2019
17:29:11
У меня не Linux, у меня машина на которой запущен docker - это Windows. Это реально на ней сделать ? В доках все для Linux.
вообще разница есть в путях к монтируемым директориям, но помоему это давно уже решенная задача и разницы особо никакой где вы запускаете контейнеры

Maxim
06.03.2019
17:32:04
Пример, напишие пожалуйста.
создайте директорию traefik и внутри неё файлик docker-compose.yml вот с таким содержимым

Пример, напишие пожалуйста.
в виндоузе наверное volumes нужно указать подругому, скорее всего вот так он должен выглядеть в виндоузях: volumes: - "/var/run/docker.sock"

Пример, напишие пожалуйста.
ну и точно так же добавить сеть из вашего сервиса nginx, в котором вам нужно будет убрать проброс портов и добавить директиву labels: - "traefik.frontend.rule=Host:your-domain-name.local"

Пример, напишие пожалуйста.
и в ваш файл hosts (не помню где он в вендоузе хранится) нужно будет добавить строчку 127.0.0.1 your-domain-name.local после этого ваш nginx будет доступен в вашем локальном браузере по домену http://your-domain-name.local

Google
NIck
06.03.2019
17:41:29
Почти сделал, про host догадался, тоже сделал.

Спасибо, сейчас попрбую.

Maxim
06.03.2019
17:42:13
Спасибо, сейчас попрбую.
держим за вас кулачки и верим в вас! у вас все получится!

NIck
06.03.2019
17:43:02
держим за вас кулачки и верим в вас! у вас все получится!
Спасибо. Вам смешно, а мне понять хочется. ?

Maxim
06.03.2019
17:44:05
Спасибо. Вам смешно, а мне понять хочется. ?
ни сколько не смешно, все через это проходят и я в том число тоже

NIck
06.03.2019
17:44:10
reverse-proxy_1 | time="2019-03-06T17:42:14Z" level=error msg="Failed to retrieve information of the docker client and server host: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?" reverse-proxy_1 | time="2019-03-06T17:42:14Z" level=error msg="Provider connection error Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?, retrying in 377.915678ms"

NIck
06.03.2019
17:50:56
кидайте скриншот вашего traefik/docker-compose.yml файла
version: '3' services: reverse-proxy: image: traefik command: --api --docker ports: - "80:80" - "8080:8080" volumes: - "./docker.sock:/var/run/docker.sock" labels: - "traefik.frontend.rule=Host:nmilord.local"

NIck
06.03.2019
17:54:33
reverse-proxy_1 | time="2019-03-06T17:54:00Z" level=error msg="Failed to retrieve information of the docker client and server host: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"

volumes: - "/var/run/docker.sock"

volumes не такой как я вам написал в сообщении выше
Исправил, ошибка все равно остается.

Maxim
06.03.2019
18:03:28
Исправил, ошибка все равно остается.
эхх, значит неправильно запомнил как docker.sock в венде монтировать в контейнер, вспомню скину стручку

Исправил, ошибка все равно остается.
попробуйте так же как на скриншоте указано volumes: - "/var/run/docker.sock:/var/run/docker.sock"

Исправил, ошибка все равно остается.
а какая у вас версия docker и docker-compose ?

NIck
06.03.2019
18:32:48
а какая у вас версия docker и docker-compose ?
Client: Docker Engine - Community Version: 18.09.2 API version: 1.39 Go version: go1.10.8 Git commit: 6247962 Built: Sun Feb 10 04:12:31 2019 OS/Arch: windows/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.2 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 04:13:06 2019 OS/Arch: linux/amd64 Experimental: false

NIck
06.03.2019
18:34:09
docker-compose version 1.23.2, build 1110ad01

Maxim
06.03.2019
18:48:48
docker-compose version 1.23.2, build 1110ad01
гугль подсказывает что оказывается есть версия traefik для windows, попробуйте вот так оформить ваш сервис https://github.com/StefanScherer/dockerfiles-windows/blob/master/traefik/docker-compose.yml

Google
Liv
06.03.2019
22:50:56
вопрос: есть система контейнеров(nginx, php-fpm, posgresql) для обеспечения работы сайта. Данные хранятся в бд в контейнере. Если внезапно контейнер по какой-либо причине упал - все данные пропали, я правильно понимаю?

Artem
06.03.2019
22:52:00
Нет

Цепляйте volume

Liv
06.03.2019
22:55:33
Цепляйте volume
не совсем понял, что это значит

Artem
06.03.2019
22:55:48
Монтирование директорий

Котяй Негодяй
07.03.2019
19:20:37
Я пробрасываю в контейнер директорию, как RW volume, владелец которой — user1. А в контейнере в неё что-то может записать user2. Есть ли возможность смапить их права? Т.е. так, чтобы то, что на хост-системе принадлежит первому, в контейнере принадлежало второму, и наоборот. uid разные.

Max
07.03.2019
19:36:42
Можно запускать контейнер от другого uid

Andrey
07.03.2019
19:56:44
сделайте их не разными ;)

Котяй Негодяй
07.03.2019
22:00:59
сделайте их не разными ;)
Ну, такое. На одной машине один uid, на другой — другой.

Maxim
07.03.2019
23:04:12
Ну, такое. На одной машине один uid, на другой — другой.
значит контейнер должен запускаться таким способом что бы uid внутри контейнера был равен внешнему uid который его запустил, наверное при равенстве внешнего uid и внутреннего uid у вас не будут возникать проблемы с доступами в монтируемых директориях

Maxim
07.03.2019
23:08:15
И, я так полагаю, этого можно добиться только собрав промежуточный образ?
не обязательно что то для этого собирать, можно просто указать user: $(id -u) например, точно не помню как именно называется директива в yml файле, в docker run по-моему так же есть возможность указать что то подобное

И, я так полагаю, этого можно добиться только собрав промежуточный образ?
иначе вам придется делать промежуточные сборки для всех пользователей

Maxim
07.03.2019
23:10:10
Это требует существаования юзера в гостевой системе.
то есть? немного не понял вашу игру слов

Это требует существаования юзера в гостевой системе.
гостевая система это такая штука в которой возможно работать без какой либо учетной записи?

Котяй Негодяй
07.03.2019
23:13:20
В этом и проблема.

О. Таки сработало.

Страница 558 из 610