# Config files
COPY config /actinbox_config/
COPY script /actinbox_script/
COPY database /actinbox_db/
# Config pyenv
RUN echo 'export PYENV_ROOT="/root/.pyenv"' >> /root/.bashrc && \
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /root/.bashrc && \
echo 'eval "$(pyenv init -)"' >> /root/.bashrc && \
# Config Nginx
rm /etc/nginx/sites-enabled/default && \
ln -s /actinbox_config/actinbox.conf /etc/nginx/sites-enabled/actinbox.conf && \
# Config PostgreSQL
rm /etc/postgresql/9.3/main/pg_hba.conf && \
ln -s /actinbox_config/pg_hba.conf `enter code here`/etc/postgresql/9.3/main/pg_hba.conf && \
# Create DB & Restore database
sh /actinbox_config/create_db_actinbox.sh && \
# Delete template folder
rm -r /actinbox_db/
这是我的dockerfile,我需要建议并建议如何创建每次重新运行容器时都会保存在docker镜像中的演示数据。
任何可以帮助我的人?我们正在使用postgre for db。
答案 0 :(得分:0)
如果您需要在启动时容器中的数据相同(例如,对于集成测试),请使用COPY
命令。
COPY demodata /demodata/
它将“持久”存入Docker镜像。
另一种方法是将目录从主机挂载到Docker容器。
docker run -v /host/directory:/container/directory -it yourImage
因此,您可以在容器启动并运行时修改数据,在多个容器之间共享相同的演示数据,并且在容器停止时不会丢失数据。