【问题标题】:Docker exec -it <image> bash leads to an empty folderDocker exec -it <image> bash 导致一个空文件夹
【发布时间】:2016-07-14 15:25:16
【问题描述】:

运行 docker-compose 后,我在文件夹(例如)laravel 中运行 docker exec &lt;image&gt; bash。这个文件夹是空的,在我的电脑上,但在另外 3 台机器上,这个文件夹包含同步文件夹。

有什么办法可以解决这个问题,或者有人有同样的问题吗?

docker-compose.yml:

version: '2'
services:
    php-fpm:
        build:
            context: ./php-fpm
            dockerfile: Dockerfile-70
        volumes_from:
            - application
        expose:
            - "9000"
        links:
            - workspace
    application:
        build: ./application
        volumes:
            - ./application/:/var/www/laravel
    data:
        build: ./data
        volumes:
            - /var/lib/mariadb:/var/lib/mariadb
            - /var/lib/redis:/data
    nginx:
        build: ./nginx
        volumes_from:
            - application
        volumes:
            - ./logs/nginx/:/var/log/nginx
        ports:
            - "80:80"
            - "443:443"
        links:
            - php-fpm
    mariadb:
        build: ./mariadb
        volumes_from:
            - data
        ports:
            - "3306:3306"
        environment:
            MYSQL_DATABASE: taplend
            MYSQL_USER: taplend
            MYSQL_PASSWORD: 123
            MYSQL_ROOT_PASSWORD: 123
    redis:
        build: ./redis
        volumes_from:
            - data
        ports:
            - "6379:6379"
    beanstalkd:
        build: ./beanstalkd
        ports:
            - "11300:11300"
        privileged: true
        links:
            - php-fpm
    beanstalkd-console:
        build: ./beanstalkd-console
        ports:
            - "2080:2080"
        links:
            - beanstalkd
    workspace:
        build:
            context: ./workspace
            args:
                INSTALL_PRESTISSIMO: ${INSTALL_PRESTISSIMO}
        volumes_from:
            - application
        tty: true

每个服务在根目录中都有自己的目录。每个目录都有自己的 Dockerfile

PS:我将操作系统更改为 Windows 10 Pro,并且文件夹通过 dockerTools 同步(docker beta 没有同步文件夹)。我认为,主题必须关闭

【问题讨论】:

  • 你不要docker exec &lt;image&gt;,它只适用于正在运行的容器。提供有关您的容器定义的详细信息,以便我们更好地提供帮助。
  • 它不是刻录问题,因为我们绕过了它。 docker-compose.yaml:
  • 我更新了帖子,因为忽略那些试图提供帮助的人是不好的做法

标签: docker docker-compose


【解决方案1】:

检查“共享驱动器”设置 - 在 Windows 和 Mac 上,默认情况下只能共享某些路径中的目录。

有关适用于 Windows 的新 Docker,请参见此处:https://docs.docker.com/docker-for-windows/#/shared-drives

同时执行docker inspect {container} (see docs) 并查找挂载/卷信息。

【讨论】:

  • 感谢您帮助我。我用的是ubuntu,另一个团队成员用的是windows。我将操作系统从 ubuntu 16.04 更改为 windows 10 pro。尝试通过 docker(beta) 使用 docker 得到了相同的结果。只有使用 DockerTools 才能帮助我和文件夹变得同步。
猜你喜欢
  • 1970-01-01
  • 2018-07-22
  • 1970-01-01
  • 2014-10-22
  • 2022-01-21
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多