📜  docker compose mount 当前目录 (1)

📅  最后修改于: 2023-12-03 15:00:28.432000             🧑  作者: Mango

Docker Compose中的挂载当前目录

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,它可以通过一个YAML文件定义多个服务,同时也包括了各个服务之间的依赖关系、网络设置、挂载点等等。

其中,挂载点是一个非常重要的概念,它可以让我们将容器内的某个目录或文件与主机上的某个目录或文件进行共享,这样就可以在容器中对主机上的文件进行读写操作,也可以在主机上对容器中的文件进行读写操作。

而在Docker Compose中,要想挂载当前目录,只需要在对应的服务的 volumes 属性中添加一个路径 ./ 即可。下面是一个例子:

version: "3"

services:
  web:
    image: nginx:alpine
    volumes:
      - ./public:/usr/share/nginx/html

在上面的例子中,我们定义了一个名为 web 的服务,它的镜像是 nginx:alpine。同时,我们将当前目录下的 public 目录挂载到了 web 服务中的 /usr/share/nginx/html 目录。

这样,我们就可以在主机上编辑 public 目录中的文件,然后在容器中查看到这些变化:

$ echo "Hello, Docker Compose!" > public/index.html
$ docker-compose up -d
$ docker-compose logs -f web
web_1  | 172.22.0.1 - - [19/Aug/2021:03:58:10 +0000] "GET / HTTP/1.1" 200 24 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0" "-"

可以看到,我们在主机上编辑了 public/index.html 文件,然后在容器中查看到了这个文件中的变化。

总的来说,docker compose mount 当前目录 可以让我们在Docker Compose中非常方便地将主机上的目录或文件与容器中的目录或文件进行共享,从而更加灵活地管理我们的Docker应用程序。