Ответы пользователя по тегу Debian
  • Как изменить дату в docker container?

    stanislav-belichenko
    @stanislav-belichenko
    Backend PHP Developer
    Возможно, стоит делать это из под root или с помощью su/sudo? ;-)

    Источник:
    That's not possible with Docker. Docker uses the same clock as the outside kernel. What you need is full virtualization which emulates a complete PC.

    The sudo fails because it only makes you root of the virtual environment inside of the container. This user is not related to the real root of the host system (except by name and UID) and it can't do what the real root could do.

    In you use a high level language like Python or Java, you often have hooks where you can simulate a certain system time for tests or you can write code which wraps "get current time from system" and returns what your test requires.

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

    Так что, судя по всему, ваш путь - это либо хаки в той среде, которую вы хотите проверить с измененной датой, либо использование более полноценной виртуализации.
    Ответ написан