Не трябва да инсталирате нищо в bash сесия.
Тъй като докерът използва UnionFS (услуга за файлова система за съюз)
, веднага след като излезете от вашата bash сесия, всяка модификация се губи, когато контейнерът бъде премахнат.
Можете да опитате docker commit
на вашия контейнер „Излязъл“, но това не е начинът, по който създавате ново изображение.
Това, което правите, е да създадете текстов файл с име Dockerfile
, в който следвате подобни стъпки като официално изображение на postgres Dockerfile
(освен че искате да започнете от ubuntu).
То включва:
RUN apt-get update \
&& apt-get install -y postgresql-common \
&& sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf \
&& apt-get install -y \
postgresql-$PG_MAJOR=$PG_VERSION \
postgresql-contrib-$PG_MAJOR=$PG_VERSION \
&& rm -rf /var/lib/apt/lists/*
Изпълнявате docker build -t mypostgres .
:това ще създаде ново изображение, което ще съдържа postgres.
С други думи, Dockerfile е там, за да запази инсталационните стъпки в декларативен текстов файл, от който можете да създадете изображение по всяко време.