Bạn không nên cài đặt bất kỳ thứ gì trong phiên bash.
Vì docker sử dụng UnionFS (dịch vụ hệ thống tệp liên hợp)
, ngay sau khi bạn thoát khỏi phiên bash của mình, mọi sửa đổi sẽ bị mất khi vùng chứa bị xóa.
Bạn có thể thử một docker commit
của vùng chứa "Đã thoát", nhưng đó không phải là cách bạn xây dựng hình ảnh mới.
Những gì bạn làm là tạo một tệp văn bản có tên Dockerfile
, trong đó bạn làm theo các bước tương tự như hình ảnh postgres chính thức Dockerfile
(ngoại trừ bạn muốn bắt đầu từ ubuntu).
Nó bao gồm:
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/*
Bạn chạy docker build -t mypostgres .
:điều đó sẽ tạo một hình ảnh mới chứa các postgres.
Nói cách khác, Dockerfile ở đó để duy trì các bước cài đặt trong tệp văn bản khai báo, từ đó bạn có thể tạo hình ảnh bất kỳ lúc nào.