Подскажите по docker-y кто шарит

12
lutskboy
На сайте с 22.11.2013
Offline
172
375

Привет

у меня есть образ ubuntu. я его запустил. создается контейнер. установил там openssh-server и сменил пароль от root

остановил контейнер и если потом зайти то  openssh-server не запущен. надо снова запускать. пароль от  root тоже слетел

как сделать так чтоб все сохранялось?

Sly32
На сайте с 29.03.2012
Offline
303
#1
lutskboy :

Привет

у меня есть образ ubuntu. я его запустил. создается контейнер. установил там openssh-server и сменил пароль от root

остановил контейнер и если потом зайти то  openssh-server не запущен. надо снова запускать. пароль от  root тоже слетел

как сделать так чтоб все сохранялось?

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

lutskboy
На сайте с 22.11.2013
Offline
172
#2
Sly32 #:
как ты можешь в него войти?

да. вот так docker run -it -p 2222:22 ubu:node

ubu:node ето коммит от контейнера

docker commit 398bece6c359 ubu:node

пока что без  докерфайл 
Sly32
На сайте с 29.03.2012
Offline
303
#3
lutskboy #:
docker run -it -p 2222:22 ubu:node

Это запуск и вход. Прекращай ходить по граблям, сделай правильно, через докерфайл, а лучше через докер-композ. Ты не можешь менять базовый image без докерфайла

lutskboy
На сайте с 22.11.2013
Offline
172
#4
Sly32 #:
сделай правильно, через докерфайл

простой пример есть? или мне чат гпт мучить?

WEMASTER
На сайте с 16.08.2012
Offline
95
#5
lutskboy #:

простой пример есть? или мне чат гпт мучить?

Коля, ну ты как маленький.
Тебе не нужно было устанавливать вручную openssh-server - нужно было просто использовать образ контейнера с openssh-server.
Посмотри на 
linuxserver/docker-openssh-server

Sly32
На сайте с 29.03.2012
Offline
303
#6
lutskboy #:

простой пример есть? или мне чат гпт мучить?

Я бы начал с документации, нужно понимать что происходит а не примеры копировать. ЖПТ поможет конечно, но понимать ты не будешь, что он сделал. 
Я всегда работаю через докер-композ - решает кучу проблем

L
На сайте с 10.02.2015
Offline
221
#7
Sly32 #:

Я всегда работаю через докер-композ - решает кучу проблем

Как в композе добавить группу и пользователя в группу?

Sly32
На сайте с 29.03.2012
Offline
303
#8
livetv #:

Как в композе добавить группу и пользователя в группу?

Это не в композе а в докерфайле делают

Aisamiery
На сайте с 12.04.2015
Offline
293
#9
lutskboy :
у меня есть образ ubuntu. я его запустил. создается контейнер. установил там openssh-server и сменил пароль от root

Вы немного не поняли суть докера, это не виртуализация как например виртуалбокс, задача докера изолировать 1 процесс с PID 1 только за ним он и следит. То есть докер контейнер это запуск одной программы изолированно, например  openssh-server, для примера nginx + php-fpm+mysql это будет 3 разных докер контейнера, при том если хотите lets encrypt это будет четвертый контейнер, крон пятый и так далее.

Сам по себе контейнер это запуск образа, а образ это "слоеный пирог" как таковой, в сам контейнер ничего писать нельзя он не сохраняет состояние, можно писать только в образ слоями, для этого есть файл Dockerfile каждая команда в нем это новый слой в пироге, только там можно дополнительно как то расширить образ новыми "слоями пирога" и на основе нового образа запустить контейнер.

Оверхеда практически никакого нет, вся эта изоляция делается на уровне ядра линукса хостовой системы, именно линукса, потому что в остальных системах это не совсем чистый докер, а Docker Desktop (докер на костылях).

Преимущество докера раскрывается на самом деле в управлении окружением, вы можете запустить с десяток php-fpm процессов различных версий, библиотек и конфигураций, что гарантирует (почти) одинаковое поведение на любой хост системе где установлен докер. Так же это помогает именно раскатки приложения в продакшене, вы можете подготовить и сконфигурировать образ для приложения, потом при изменениях в гите делать слой в образе накатывая туда код и записывать готовый образ с приложением в регистре (registry - хранилище образов), а системы деплоя уже увидят что изменился образ и подтянут его, запустят 100500 контейнеров после чего переключат на них трафик, так что деплой приложений стал простым и контролируемым. Но все это к стейтлесс частям приложения, стейтфул системы (базы данных, хранилища файловые) в докер как правило не запихивают для этого есть другие инструменты. 

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
Aisamiery
На сайте с 12.04.2015
Offline
293
#10
livetv #:
Как в композе добавить группу и пользователя в группу?

Смотря для чего вам это надо, запустить основной процесс от пользователя и его группы в композ (версии 3) можно вот так

PS. Да забыл, только надо экспортунть эти переменные окружения

export UID="$(id -u)"
export GID="$(id -g)"
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий