我在 Fedora 23 中,我正在使用 docker-compose 构建两个容器:app 和 db。我想使用那个 docker 作为我的开发环境,但是每次我更改代码时都必须执行 docker-compose build 和 up 并不好。所以我在搜索并尝试了“volumes”选项,但我的代码没有被复制到 docker。
当我运行 docker-build 时,“RUN ls”命令不会列出“app”文件夹或其任何文件。
Obs .:在我的根文件夹中:docker-compose.yml,.gitignore,app(文件夹),db(文件夹)
Obs¹ .: 如果我删除 volumes 和 working_dir 选项,而是在 app/Dockerfile 中使用“COPY ./app”命令,它可以工作并且我的应用程序正在运行,但我希望它同步我的代码。
有谁知道如何使它工作?
我的 docker-compose 文件是:
version: '2'
services:
app:
build: ./app
ports:
- "3000:3000"
depends_on:
- db
environment:
- DATABASE_HOST=db
- DATABASE_USER=myuser
- DATABASE_PASSWORD=mypass
- DATABASE_NAME=dbusuarios
- PORT=3000
volumes:
- ./app:/app
working_dir: /app
db:
build: ./db
environment:
- MYSQL_ROOT_PASSWORD=123
- MYSQL_DATABASE=dbusuarios
- MYSQL_USER=myuser
- MYSQL_PASSWORD=mypass
在这里你可以看到我的应用容器 Dockerfile: https ://gist.github.com/jradesenv/d3b5c09f2fcf3a41f392d665e4ca0fb9
下面是 Dockerfile 中 RUN ls 命令的输出:
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var