在Docker Compose中,目录挂载是一种将宿主机上的目录挂载到容器中的方法。通过目录挂载,我们可以实现容器与宿主机之间的文件共享,使得容器可以访问宿主机的文件和目录。这在很多场景下都非常有用,例如将代码目录挂载到容器中,实现开发环境与宿主机之间的代码同步。
以下是使用Docker Compose挂载目录的步骤:
创建Docker Compose文件
首先,我们需要创建一个Docker Compose文件,用于定义我们的服务和容器。在项目根目录下创建一个名为docker-compose.yml的新文件,并添加以下内容:
version: '3'
services:
myapp:
build: .
上述代码定义了一个名为myapp的服务,并使用当前目录(’.’)作为构建上下文。
定义服务和容器
接下来,我们需要定义我们的服务和容器。在docker-compose.yml文件中添加以下内容:
services:
myapp:
build: .
image: myapp
container_name: myapp-container
上述代码定义了一个名为myapp的服务,并指定了构建上下文、镜像名称和容器名称。
指定目录挂载
现在,我们需要指定要挂载的目录。在docker-compose.yml文件中的myapp服务中添加以下内容:
```yaml
services:
myapp:
build: .
image: myapp
container_name: myapp-container
volumes:
./host-directory:/container-directory
```
上述代码指定了一个目录挂载,将主机的./host-directory目录挂载到容器的/container-directory目录。这意味着容器内的/container-directory目录将与宿主机的./host-directory目录保持同步。任何在宿主机的./host-directory目录中的更改都将反映在容器的/container-directory目录中,反之亦然。