Jea*_*ert 5 docker dockerfile docker-compose docker-volume
我在 Fedora 23 中,正在使用 docker-compose 构建两个容器:app 和 db。\n我想使用该 docker 作为我的开发环境,但每次我都必须执行 docker-compose build 和 up更改代码不太好。所以我正在搜索并尝试了“卷”选项,但我的代码没有被复制到docker。
\n\n当我运行 docker-build 时,“RUN ls”命令不会列出“app”文件夹或其任何文件。
\n\nObs .:在根文件夹中我有:docker-compose.yml、.gitignore、app(文件夹)、db(文件夹)
\n\nObs\xc2\xb9 .:如果我删除卷和工作目录选项,而是在应用程序/Dockerfile 中使用“COPY . /app”命令,它可以工作并且我的应用程序正在运行,但我希望它同步我的代码。
\n\n有人知道如何让它发挥作用吗?
\n\n我的 docker-compose 文件是:
\n\nversion: \'2\' \nservices: \n app:\n build: ./app\n ports:\n - "3000:3000"\n depends_on:\n - db\n environment:\n - DATABASE_HOST=db\n - DATABASE_USER=myuser\n - DATABASE_PASSWORD=mypass\n - DATABASE_NAME=dbusuarios\n - PORT=3000\n volumes:\n - ./app:/app\n working_dir: /app\n db:\n build: ./db\n environment:\n - MYSQL_ROOT_PASSWORD=123\n - MYSQL_DATABASE=dbusuarios\n - MYSQL_USER=myuser\n - MYSQL_PASSWORD=mypass\n
Run Code Online (Sandbox Code Playgroud)\n\n在这里您可以看到我的应用程序容器 Dockerfile:\n https://gist.github.com/jradesenv/d3b5c09f2fcf3a41f392d665e4ca0fb9
\n\n以下是 Dockerfile 中 RUN ls 命令的输出:
\n\nbin\nboot\ndev\netc\nhome\nlib\nlib64\nmedia\nmnt\nopt\nproc\nroot\nrun\nsbin\nsrv\nsys\ntmp\nusr\nvar
\n卷安装在容器中。Dockerfile 用于创建映像,该映像用于创建容器。这意味着RUN ls
Dockerfile 内部将在挂载卷之前显示文件系统。如果您需要这些文件成为映像的一部分以完成构建,则它们不应该位于卷中,并且您需要使用COPY
您所描述的命令复制它们。如果您只是想证明这些文件已安装在正在运行的容器内,请运行
docker exec $container_name ls -l /
Run Code Online (Sandbox Code Playgroud)
哪里$container_name
会有类似的东西${folder_name}_app_1
,你会在docker ps
.
归档时间: |
|
查看次数: |
11990 次 |
最近记录: |