ФорумРазработкаУстановка и администрирование ПОDocker - Linux Containers → Начинаю познавать docker

Начинаю познавать docker

  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 1:39, спустя 1 минуту 39 секунд

    Гм, может и не понял. Но вот я собрал контейнер, отдал разработчику ... он пошел код валять. В каком случае ему не нужен запущенный веб сервер?

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 1:41, спустя 2 минуты 8 секунд

    Гм, может и не понял. Но вот я собрал контейнер, отдал разработчику ... он пошел код валять. В каком случае ему не нужен запущенный веб сервер?

    @AlexB, а это пхп у вас? если питон - то ему он не нужен примерн ов 50% случаев, часто нужен manage.py :)

    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 1:43, спустя 2 минуты 31 секунду

    Да пхп

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 1:45, спустя 1 минуту 48 секунд

    Да пхп

    @AlexB, [s]мухахаха нубы не то что жанга хуянга и другие клеве штуки которые вам нубам и не снились ахахах[/s] тогда да, наверное веб сервера достаточно.

    Strikethrough не поддерживается :(

    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 1:50, спустя 5 минут 18 секунд

    Ну увы, за что платят хорошо то и пилим. ((( Джангой-хуянгой балуюсь в свободное от основной работы время

    Да на самом деле дело то не нжинксе, я не понимаю почему в принципе такой эффект
    ENTRYPOINT df
    или
    CMD echo 1

    дают ровно такой же эффект - контейнер закрывается после старта

    пока не напишешь
    CMD echo 1 && bash

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 2:07, спустя 16 минут 48 секунд

    @AlexB, потому что контейнер закрывается когда приложение указанное в "ENTRYPOINT + CMD" завершается! Контейнер живет ровно столько сколько живет приложение которое в нам было запущено ;)

    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 11:58, спустя 9 часов 51 минуту 6 секунд

    @AlexB, потому что контейнер закрывается когда приложение указанное в "ENTRYPOINT + CMD" завершается!

    Ну да, я тоже в итоге к этому выводу пришел. А если ничего не указано, то консоль ждет указания. Ну ок. Будем считать, что в этом есть какая-то логика.

    ЗЫ. А что докером больше вообще никто не интересуется у нас?

  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 12:00, спустя 1 минуту 30 секунд

    я бы сказал, что скорее у нас никто не интересуется форумом

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 октября 2016 г. 12:50, спустя 50 минут 21 секунду

    я бы сказал, что скорее у нас никто не интересуется форумом

    @Sinkler, lol :)

    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 4 декабря 2016 г. 20:21, спустя 52 дня 7 часов 30 минут

    А вот еще интересная фишка.
    Пишу скрипт, который запускает mysql контейнер и тут же выполняет некий инициализирующий SQL запрос.

    
    docker-compose up -d
    docker exec -i mysql mysql -uroot -proot -e "SQL запрос"
    

    И получаю ошибку: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

    Оказывается docker-compose уже закончил работу, а mysql еще не запустился. Пока вылечил вставив
    sleep 5
    между первой и второй строчкой, но как-то костыльно это. Есть еще идеи?

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 декабря 2016 г. 20:31, спустя 10 минут 43 секунды

    Оказывается docker-compose уже закончил работу, а mysql еще не запустился. Пока вылечил вставив

    @AlexB, это говорит только о том что ты не познал дзен, я вначале тоже постоянно подобным образом костылял, сейчас у меня не бывает таких проблем ))) Если у тебя такое случилось - что-то в твоей конфигурации не так 100%.

    Спустя 21 сек.

    ну и каждый случай конечно же частный в таких ситуациях, так что могу пожелать только удачи)

    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 4 декабря 2016 г. 21:19, спустя 48 минут 4 секунды

    А чего в ней (конфигурации) может быть не так? Я даже свой образ не делал, готовый официальный от mysql пробовал использовать. Вот конфигурация, выпилил из нее практически все подозрительное, но эффект все равно есть:

    
      mysql:
        container_name: mysql
        environment:
          MYSQL_ROOT_PASSWORD: root
        image: mysql:5.6
        ports:
          - "3306:3306"
    

    Все работает, если команды дать последовательно руками. А подряд из bash скрипта - ошибка, причем не стабильная то есть, то нет (видимо иногда успевает стартануть). При том потом-то все нормально, контейнер стартует, все хорошо, только запрос инициализирующий не выполняется.

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 декабря 2016 г. 23:27, спустя 2 часа 7 минут 49 секунд

    @AlexB, ну так да, докер стартует контейнеры не по очереди и это уже задача приложения подождать других контейнеров ))

    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 4 декабря 2016 г. 23:34, спустя 6 минут 37 секунд

    Нету никаких других контейнеров. Стартует один контейнер с одним mysql. И дальше в него дается SQL запрос!!!

    На заметку разработчику: Если бы проблема была, что один контейнер должен ждать другой - это была бы не проблема. Ибо в docker-compose файле есть директива depends_on, где можно указать последовательность запуска.

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 декабря 2016 г. 23:45, спустя 10 минут 58 секунд

    Нету никаких других контейнеров. Стартует один контейнер с одним mysql. И дальше в него дается SQL запрос!!!

    На заметку разработчику: Если бы проблема была, что один контейнер должен ждать другой - это была бы не проблема. Ибо в docker-compose файле есть директива depends_on, где можно указать последовательность запуска.

    @AlexB, ну блин не важно кто обращается, важно то что запуск контейнера != бинд на порт и процессинг запросов!

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!