我已创建了以下docker-compose.yml
文件。
# Use root/example as user/password credentials
version: '3.1'
services:
mongo:
image: mongo
restart: always
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/
然后使用以下命令启动它:
sudo docker-compose up
随后连接Mongo并创建了一些文档,然后重新启动了Compose。令人惊讶的是,数据得以保留。据我所知,如果没有配置卷,Docker会忘记数据。这种情况下,它将我的数据存储在哪里?
docker-compose stop/start
不会移除已创建的容器,这就是为什么数据仍然存在的原因。如果您执行docker-compose down
(停止并移除容器),然后再执行docker-compose up
(创建并运行容器),数据将被清除。 - tgogos