我只想用docker-compose.yml启动一个oracle docker容器
到目前为止,直到我添加了一个文件夹来同步/挂载/容器中的任何内容
问题1:如果主机上的文件夹丢失 - docker没有安装任何东西
问题2:git忽略了一个空文件夹 - 所以我添加了一个空文件.emptyfileforgit
因此,如果我现在启动我的docker-compose,docker将带有我的假文件的文件夹安装到oracle容器,因此数据库被“破坏”。
docker撰写文件:
版本:“3”
服务:
mysql_db:
container_name:oracle_db
image:wnameless / oracle-xe-11g:最新的
港口:
- “49160:22”
- “49161:1521”
- “49162:8080”
重启:总是
卷:
- “./oracle_data:/u01/app/oracle/oradata”
- “./startup_scripts:/docker-entrypoint-initdb.d”
环境:
- ORACLE_ALLOW_REMOTE = true
问题:如何摆脱这种行为?
使用一个工作正常的mysql容器......
非常感谢!
答案 0 :(得分:0)
通过使用卷folder/path/in/host : folder/path/in/container
,容器文件夹中的数据将映射到主机中的提供位置。最初db数据为空,这就是主机文件夹不包含任何数据的原因。并且不要将模拟无效数据放在容器的db文件夹中。因为它会破坏你的数据库。如果要添加转储数据库数据,只需将其放在主机文件夹的文件夹中,它就会映射到容器中的路径
答案 1 :(得分:0)
您需要在/ 0u1 / app / oracle / oradata中复制文件 那么您可以在路径./orcle_data位置的系统中从容器中访问它。