我使用以下基本泊坞文件:
https://github.com/wnameless/docker-oracle-xe-11g/blob/master/Dockerfile
我读了一些关于如何从SO question和this blog设置数据Volumne的内容,但不确定如何将各个部分组合在一起。
总之,我想在一个只有数据的Docker镜像中管理oracle数据,怎么做呢?答案 0 :(得分:4)
我已经实现了db数据的装载量。 这是我的叉子:
您可以在此处查看:
答案 1 :(得分:2)
我尝试在我的oracle xe容器中映射数据文件和快速恢复目录。但是,我在丢失文件后改变了主意......所以你应该非常小心这种方法并理解docker如何在所有操作下管理这些空间。
例如,我发现如果清除旧容器,即使映射到docker系统区域(/ var / lib / docker)之外的某些内容,映射目录的内容也将被删除。您可以通过保留容器并再次启动它来避免这种情况。但是,如果您想要版本并制作新图像......您必须备份这些文件。
Oracle也会识别文件本身(校验和或inode#或其他内容)并在启动时抱怨它们......我没有调查该问题的严重程度,即使确实存在任何问题。
我选择不映射任何这些文件/目录,并计划使用数据泵或其他任何东西来获取数据,直到我能更好地处理所有可能发生的事情。
所以我更新了图像的数据和版本...推送到回购以保存安全
答案 2 :(得分:0)
一般来说:
# Start data container
docker run -d -v /dbdata --name dbdata -it ubuntu
# Put oracale data in /dbdata some how
# Start container with stabase and look for data at /dbdata
docker run -d --volumes-from dbdata --name db -it ubuntu