以下是我尝试使用Dockerfile构建映像的问题:
# PostgreSQL
#
# VERSION 1.0
FROM ubuntu:12.04
VOLUME /var/lib/postgresql
# Update the packages
RUN apt-get update
RUN apt-get -y dist-upgrade
# Install PostgreSQL
RUN apt-get -y install sudo postgresql
# Configure PostgreSQL to allow logins from all networks and listen to all ip address
RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.1/main/pg_hba.conf
RUN echo "listen_addresses='*'" >> /etc/postgresql/9.1/main/postgresql.conf
EXPOSE 5432
如果我尝试构建图像后: docker run -i -t image_id / bin / bash
我的/ var / lib / postgresql现在是空的!
Docker卷没有太多的文档,所以我真的很困惑发生了什么。
答案 0 :(得分:7)
如果将VOLUME指令放在Dockerfile的末尾。
目前,Docker将为您执行的每个RUN创建一个新卷,并因此放弃更改。
这将很快修复。在此期间,只需移动您的VOLUME指令就可以了。:)