如何使用docker-compose使用正式MySQL映像为Docker容器使用临时卷?
我正在用docker-compose使用一个官方的MySQL docker镜像( https://github.com/docker-library/mysql/blob/3288a66368f16deb6f2768ce373ab36f92553cfa/5.6/Dockerfile ),我希望在重新启动时清除它的数据。 默认情况是它在容器重启之间保留其数据。
这是我的docker-compose.yml:
version: "2" services: mydb: image: mysql:5.6 environment: MYSQL_ROOT_PASSWORD: foo
当我在我的容器上使用docker检查时,它会在主机上显示它的位置。 我怎样才能让它存储在容器内的数据? 我不希望它坚持下去。
当使用docker-compose
, docker-compose stop
(或ctrl-c,或任何其他types的中断/退出)不会删除容器。 因此,如果您要停止容器,下次启动时仍然存在。
你想要的是docker-compose down
, 根据文档将“停止和删除容器,networking,图像和卷”。 请注意,默认情况下只删除容器和networking – 如果您要删除图像或卷,则需要指定命令行开关。
要在本地计算机上保存数据,我将本地path映射到容器内的mysqlpath:
volumes: - /private/var/lib/mysql:/var/lib/mysql
整个图像定义如下所示:
db: image: mariadb:latest ports: - "3306:3306" volumes: - /private/var/lib/mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: db MYSQL_USER: user MYSQL_PASSWORD: pass
它适用于我 – 在我的本地计算机上创buildmysql数据库文件。
您可以在以下urlfind更多相关信息: http : //container42.com/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/
- ECS CloudFormation堆栈始终显示CREATE_PROGRESS
- Azure Docker Container – 如何将启动命令传递给docker run?
- RabbitMQ Docker容器不能在AWS EC2实例上工作
- 如何编辑泊坞窗图像中的文件?
- Docker maven插件NullPointerException
- Docker群集模式,内部运行多个具有唯一域名的服务,但每个服务都在端口80上
- 如何从远程私人registry中将新的docker镜像拉到openshift群集节点上?
- Docker容器无法从github.com克隆
- 当试图从ECR中拉出图像时,错误在mesos slave上