2017-08-04 53 views
1

这是预期的行为还是错误?docker-compose up -d不会创建卷,而docker-compose up

运行docker-compose up时,我的卷是在本地机器上创建的。但是当运行docker-compose -d时,它们不是。

这是搬运工,撰写文件中的一部分,这导致问题:

test-mysql: 
    image: mysql:5.7 
    container_name: test-mysql 
    environment: 
     - MYSQL_ROOT_PASSWORD=root 
     - MYSQL_DATABASE=test 
     - MYSQL_USER=test 
     - MYSQL_PASSWORD=root 
    ports: 
     - 3306:3306 
    volumes: 
     - ../www/data/mysql:/var/lib/mysql 

所以在第一次运行时docker-compose up的../www/data/mysql文件夹被创建。

但是,如果我与docker-compose up -d一起尝试此操作,该文件夹不会被创建。

+0

因此,您在测试之前手动删除文件夹?还有哪个版本的'docker'和'docker-compose' –

回答

3

docker-up up当您第一次运行docker-compose时,命令将会拉取mysql映像,下次它将使用相同的映像,该映像现已保存在本地。

因此,docker-compose up或不带-d将创建文件夹www,尝试使用-d首先执行它,它将创建www文件夹。

-d选项只是在后台处理您的请求。

希望它会帮助!