Ответы пользователя по тегу Docker
  • Как правильно собрать docker?

    @q2digger
    никого не трогаю, починяю примус
    у вас валится контейнер апача, и тащит за собой остальное.
    добейтесь , чтобы они у вас по отдельности работали, и уже после этого используйте docker-compose.
    ну и nginx перевешивать на порт 81 не надо. вы просто опишите порт 80 контейнера в порт 81 хоста.
    - 80:81
    Ответ написан
  • Как добавить Oracle Instant Client в Docker?

    @q2digger
    никого не трогаю, починяю примус
    Сразу несколько замечаний.
    1. В приведенном Dockerfile есть ошибка, RUM вместо RUN , а переменные окружения HTTP(S)_PROXY установленны в хз какое значение.
    2. Теперь причина вашей ошибки - конейнер node:latest основан на Debian GNU/Linux 9 , пакетный менеджер там - apt , а вы ставите пакеты для RedHat - based дистрибутива.
    Ответ написан
  • Как проверить работу приложения внутри докер контейнера?

    @q2digger
    никого не трогаю, починяю примус
    вариант 1 - смотреть логи контейнера
    docker logs <container_id>
    вариант 2 - подключиться к контейнеру и смотреть внутри, как на обычном хосте - docker exec -it <conteiner_id> /bin/bash

    второй вариант конечно может не сработать, зависит от контейнера - есть там внутри баш или нет и т.п.
    Ответ написан
    Комментировать
  • Почему я вижу процессы из docker контейнера на хостмашине?

    @q2digger
    никого не трогаю, починяю примус
    Потому что контейнеры докер - это не виртуальные машины. Докер изолирует процессы в контейнерах так, что они (процессы) не могут видеть процессы хост системы и других контейнеров. Делает он это с помощью "Kernel namespaces" & "cgroups" .
    Если читаете на английском - вот тут базово расписано
    https://docs.docker.com/engine/security/security/#...
    Ответ написан
    Комментировать
  • Как связать два контейнра при помощи docker-compose?

    @q2digger
    никого не трогаю, починяю примус
    в docker-compose контейнер называется "postgres" , а не "postgresql"..
    Ответ написан
    Комментировать
  • Как посмотреть writable layer контейнера?

    @q2digger
    никого не трогаю, починяю примус
    /var/lib/docker/volumes/
    туда он сохраняет volumes контейнеров.
    Если у вас их немного, легко вручную найдете нужный..
    Ответ написан
    4 комментария
  • Как настроить Docker и динамические поддомены?

    @q2digger
    никого не трогаю, починяю примус
    А зачем вам еще один прокси перед jwilder/nginx-proxy ?
    Смотрите, вот реально работающий docker-compose с nginx-proxy + confluence + postgress:
    version: '2'
    
    services:
      confluence:
        image: q2digger/confluence:latest
        container_name: confluence
        hostname: confluence
        volumes:
          - app_data:/var/atlassian/application-data/confluence
        restart: always
        ports:
          - 8090:8090
          - 8091:8091
        networks:
          - confluence
          - proxy
        environment:
          JVM_MINIMUM_MEMORY: '2048m'
          JVM_MAXIMUM_MEMORY: '4096m'
          CATALINA_CONNECTOR_PROXYNAME: 'confluence.local.net'
          CATALINA_CONNECTOR_PROXYPORT: '443'
          CATALINA_CONNECTOR_SCHEME: 'https'
          VIRTUAL_HOST: 'confluence.local.net'
          VIRTUAL_PORT: '8090'
      proxy:
        image: jwilder/nginx-proxy
        ports:
          - 0.0.0.0:80:80
          - 0.0.0.0:443:443
        volumes:
          - ./confluence.local.net.conf:/etc/nginx/vhost.d/confluence.local.net:ro
          - /var/run/docker.sock:/tmp/docker.sock
          - ./certs/:/etc/nginx/certs:ro
        networks:
          - proxy
      database:
        image: blacklabelops/postgres
        volumes:
          - db_data:/var/lib/postgresql/data
        environment:
          - POSTGRES_PASSWORD=atlassian
          - POSTGRES_DB=confluence
          - POSTGRES_USER=atlassian
          - POSTGRES_ENCODING=UNICODE
          - POSTGRES_COLLATE=C
          - POSTGRES_COLLATE_TYPE=C
        networks:
          - confluence
    
    volumes:
      db_data:
      app_data:
    
    networks:
      confluence:
      proxy:


    nginx-proxy взлетает на стандартных портах 80 и 443, конфиг кастомный я туда подкидываю (если надо), ssl сертификаты тоже
    Ответ написан
    Комментировать
  • Как настроить DNS имена для Docker контейнеров?

    @q2digger
    никого не трогаю, починяю примус
    Consul.
    запускающиеся контейнеры регистрируются в сервере Consul, сам консул умеет среди всего прочего и DNS сервис. То есть каждый запущенный контейнер автоматически будет прописан в DNS и к нему можно будет обратиться по заданному имени. А еще консул умеет менять конфигурации веб-сервера, который стоит фронтом и добавлять удалять там виртхосты или локейшены, как сами настроите. Но! Понадобится садится и разбираться как именно оно работает.
    Вот неплохая статья на хабре, а ее вторая часть - прям по вашему вопросу.
    Ответ написан
    1 комментарий
  • Как настроить разрешение поддоменов в Docker-контейнеры?

    @q2digger
    никого не трогаю, починяю примус
    Рекомендую посмотреть на контейнер https://github.com/jwilder/nginx-proxy
    Этот nginx умеет автоматически поднимать virtual hosts на основе переменных окружения заданных при запуске контейнера.

    Вот реальный docker-compose.yml моей песочницы с конфлюэнсом и постгрессом.
    переменные
    VIRTUAL_HOST: 'confluence.local.net'
    VIRTUAL_PORT: '8090'
    заставят nginx-proxy создать соответствующий virt-host c редиректом в контейнер confluence , port 8080

    version: '2'
    
    services:
      confluence:
        image: q2digger/confluence:latest
        container_name: confluence
        hostname: confluence
        volumes:
          - app_data:/var/atlassian/application-data/confluence
        restart: always
        ports:
          - 8090:8090
          - 8091:8091
        networks:
          - confluence
          - proxy
        environment:
          JVM_MINIMUM_MEMORY: '2048m'
          JVM_MAXIMUM_MEMORY: '4096m'
          CATALINA_CONNECTOR_PROXYNAME: 'confluence.local.net'
          CATALINA_CONNECTOR_PROXYPORT: '443'
          CATALINA_CONNECTOR_SCHEME: 'https'
          VIRTUAL_HOST: 'confluence.local.net'
          VIRTUAL_PORT: '8090'
      proxy:
        image: jwilder/nginx-proxy
        ports:
          - 0.0.0.0:80:80
          - 0.0.0.0:443:443
        volumes:
          - ./confluence.local.net.conf:/etc/nginx/vhost.d/confluence.local.net:ro
          - /var/run/docker.sock:/tmp/docker.sock
          - ./certs/:/etc/nginx/certs:ro
        networks:
          - proxy
      database:
        image: atlassian/postgres:9.4
        volumes:
          - db_data:/var/lib/postgresql/data
        networks:
          - confluence
        environment:
          - DB_PASS=atlassian
          - DB_NAME=confluence
          - DB_USER=atlassian
    
    volumes:
      db_data:
      app_data:
    
    networks:
      confluence:
      proxy:
    Ответ написан
    Комментировать
  • Почему сбрасывается соединение при docker-compose build?

    @q2digger
    никого не трогаю, починяю примус
    Сталкивался с таким , когда админы офисной сети принудительно заворачивали весь http & https трафик в прокси-сервер.
    Ответ написан
    Комментировать