docker机器和mac卷的docker

docker机器和mac卷的docker,docker,volumes,Docker,Volumes,我从Docker开始 我想运行一个docker mysql容器,这是我的docker-compose.yml version: "3" services: mysql: build: docker/mysql ports: - "33306:3306" environment: MYSQL_ROOT_PASSWORD: root volumes: -

我从Docker开始

我想运行一个docker mysql容器,这是我的docker-compose.yml

version: "3"
services:

    mysql:
        build: docker/mysql
        ports:
            - "33306:3306"
        environment:
            MYSQL_ROOT_PASSWORD: root
        volumes:
            - "~/lab/work/attikae/sqlstorage:/var/lib/mysql"
当我在“work attikae”docker机器中运行此作曲家时(请参见它处于活动状态):

文件夹“~/lab/work/attikae/sqlstorage”完全是空的,没有写入任何内容

但是!当我在“mac env的Docker”上时(请确保没有任何机器处于活动状态):

一切都正常工作,sql数据在“~/lab/work/attikae/sqlstorage”中编写良好


所以,我想用docker机器来训练自己并使用多个IP,但是。。。只有mac的Docker适用于卷,我错过了什么吗

你能澄清一下你实际使用的是什么吗
docker机器
是docker工具箱的一部分,“docker for Mac”是一个与docker工具箱完全不同的东西。你是否在Mac上使用Docker工具箱,并将其称为“Docker for Mac”?或者实际使用“Docker for Mac”?我想同时使用这两个选项,这是不可能的?好吧,这是可能的,但你需要在你的问题中更清楚地说明问题的每一部分,这样人们就可以准确地理解你在做什么并回答你的问题。另外,还要确保你有一个最新版本的
docker compose
。旧版本不理解波浪线(
~
)。所有内容都是最新的。在第一个例子中,我使用docker机器,在这个例子中,mysql容器似乎无法写入“~/lab/work/attikae/sqlstorage”,因为它在运行后仍然是空的。在第二种情况下,我使用的是“Docker for Mac”,它可以工作,相同的容器写在“~/lab/work/attikae/sqlstorage”文件夹中。这更清楚吗?
 nathan@macbook-pro-de-nathan  ~  docker-machine ls
NAME           ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default        -        virtualbox   Running   tcp://192.168.99.100:2376           v1.13.1
work-attikae   *        virtualbox   Running   tcp://192.168.99.103:2376           v1.13.1
 nathan@macbook-pro-de-nathan  ~  docker-machine ls
NAME           ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default        -        virtualbox   Running   tcp://192.168.99.100:2376           v1.13.1
work-attikae   -        virtualbox   Running   tcp://192.168.99.103:2376           v1.13.1