问题
当我在Docker中启动一个新容器时,我希望挂载一个卷,这样我就可以获得主机上任何文件的最新更新,并且可以在我的容器中使用它们。然而,我发现当我建立这个形象的时候,Docker正在增加我的容量。相反,我希望在创建新容器时挂载卷。
因为我使用Docker来管理我的开发环境,这意味着每当我更新一小块代码时,我必须重建我的开发环境Docker映像,这通常需要20到30分钟。显然,这不是我想从Docker获得的功能。
下面是我用来构建开发环境容器的内容:
Dockerfile
# This docker file constructs an Ubuntu development environment and configures the compiler/libs needed
FROM ubuntu:latest
ADD . /gdms-rcon/liaison
WORKDIR /gdms-rcon/liaison
RUN rm -rf ./build
RUN apt-get update
RUN apt-get install -y -f gcc g++ qtbase5-dev cmake mysql-client
fig.yml
liaison:
build: ./liaison/
command: /bin/bash
volumes:
- liaison:/gdms-rcon/liaison
working_dir: /gdms-rcon/liaison
我还使用了一个fig.yml
文件来简化构建。
要运行,我使用:fig build
要访问我的容器来编译源代码,我使用:docker run -it <container_id>
也许我的命令做错了什么?我不使用fig up
,因为它不会给我一个交互式的shell,所以我使用docker run -it <container_id>
。我选择使用fig
,以便它能够自动挂载我的卷,但它并不像我所希望的那样工作。
这里有一张图片可以更清楚地说明我的问题
发布于 2015-03-01 02:41:17
如果您没有使用fig
启动容器,那么您的fig.yml
中的volumes
行没有做任何有用的事情。如果您需要一个交互式的shell,那么fig
并不是真正适合您的工具。
只需像平常一样docker build
您的图像,然后使用-v
标志到docker run
来挂载卷:
docker run -it -v <hostpath>:<containerpath> <imageid>
https://stackoverflow.com/questions/28788697
复制相似问题