问题
当我在 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
无花果.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
,因为它不会给我一个交互式外壳,所以我docker run -it <container_id>
改用它。我选择使用fig
它来自动挂载我的卷,但它并没有像我希望的那样工作。