fastcgi_pass app:9000;и требуют вместо app указать localhost, так вот ещё и проблема с передачей череменной через configmap...
services:
service_name:
labels:
- "traefik.http.routers.wp_nginx.rule=Host(`blog.domain.com`)"
- "traefik.http.routers.wp_nginx.entrypoints=https"
- "traefik.http.routers.wp_nginx.tls.certresolver=letsEncrypt"
expose:
- "80"
# ============================================================================================================================================ #
### --- mounts --- ###
#
# services:
# ...
# - type: bind
# source: ../../../artifacts_path
#
# volumes: <- и закомментированный блок определения volumes
# ...
# --- при монтировании я нахожу нужный каталог, всё ок.
# Но вот особенность монтирования в том, что нельзя "синхронизировать" данные между хостом и контейнером, для этого придумали тома volume.
# ============================================================================================================================================ #
### --- volumes --- ###
#
# services:
# ...
# - type: volume
# source: upload_app_volumes
#
# volumes:
# upload_app_volumes:
# ...
# o: 'bind'
# device: 'artifacts_path'
# --- а вот при подключении тома volume не удаётся смонтировать куда требуется:
# "device: 'artifacts_path'" находит точку монтирования начиная с корня проекта, поэтому и тут внимательнее с иерархией.
# Однако "source" монтируется в хостовое хранилище томов volume - ":/var/lib/docker/volumes/app_upload_app_volumes/_data".
# Решения указания монтировать внутрь контейнера не нахожу.
# ============================================================================================================================================ #
Выжимка из работы с каталогами и томами Docker:
>>>>>>>>>>>>>> но чтобы понапрасну не читать, знай: <<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>> монтирование не имеет режима read-write, поэтому данные между хостом и контейнером НЕ будут синхронизированы. <<<<<<<<<<<<<<<<<<<<<<<<<<<
1. монтировани. (bind)
большинство инструкций ссылаются на рабочий вариант монтирования.
``` bash
# ВНИМАТЕЛЬНО изучи в какой директории $(pwd) создаёшь папку! И следи какой уровень вложенности указал для монтирования в docker-compose
mkdir -p ./path_on_host_into_project_workdir
cat <<EOF > docker-compose.yml
---
version: "3.7"
services:
app:
build:
dockerfile: Dockerfile
context: .
volumes:
- type: bind
source: ./path_on_host_into_project_workdir
target: /path_on_container
EOF
```
Пояснение.
Для монтирования необходимо предварительно создать директорию, которую собираемся подключить к контейнеру.
указываем что используем модуль "mount" - 'type: bind'
указываем где наша папка для подключения - 'source'
указываем куда подлючиться внутри контейнера - 'target'
<<<<<<<<<<<<<<<<<<<<<<<<<<<<< но у меня это не сработало. >>>>>>>>>>>>>>>>>>>>>>>..
ошибка:
ERROR: for app Cannot create container for service app: invalid mount config for type "bind": bind source path does not exist: /home/dmitry/workdir2/wordpress/docker/app/path_on_host_into_project_workdir
ERROR: Encountered errors while bringing up the project.
...........................................................
2. тома - (volumes)
убеждение что том - "type: volume".
Для томов необходимо определить конструкцию volumes. И там описываем что куда к чему о чём по чём.
``` docker-compose.yml
---
version: "3.7"
services:
app:
build:
dockerfile: docker/app/Dockerfile
context: ../../
volumes:
- type: volume
source: ./path_on_host_into_project_workdir
target: /var/www/app_app
volumes:
upload_app_volumes:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: './path_on_host_into_project_workdir'
```
``` bash
$ docker-compose up -d
```
ошибка :
ERROR: for app Cannot create container for service app: invalid mount config for type "bind": bind source path does not exist: /home/dmitry/workdir2/wordpress/docker/app/path_on_host_into_project_workdir
ERROR: Encountered errors while bringing up the project.
И можем посмотреть на содержимое тома
``` bash
$ docker inspect $(docker ps -lqa) | jq '.[]|.Mounts'
[
{
"Type": "volume",
"Name": "app_upload_app_volumes",
"Source": "/var/lib/docker/volumes/app_path_on_host_into_project_workdir/_data",
"Destination": "/var/www/app_app",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
]
```
WARNING: artifacts/*: no matching files