簡體   English   中英

docker-compose:為綁定掛載和托管掛載定義掛載

[英]docker-compose: define mount for bind mount and managed mount

我正在使用 docker-compose 來定義我的服務。 在docker中,docker volume有兩個概念。 首先是關於bind mount :掛載在主機存儲上。

docker run -d --name web-app -v $HOST/location:/container/location -p 80:80 httpd:latest

其次是關於managed mount :抽象存儲,不依賴於主機。

docker run -d --name web-app -v /container/location -p 80:80 httpd:latest

我想將這些概念映射到 docker-compose。 這意味着在使用 docker-compose 時如何定義bind mountmanaged mount

雖然我回答得很晚。 但也許它將來會幫助其他人。 以下是兩種類型的配置。 https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes

version: "3.2"
services:
  web:
    image: httpd:latest
    volumes:
      - type: bind
        source: $HOST/location
        target: /container/location
      - type: volume
        source: mydata
        target: /container/location
volumes:
  mydata:

您可以在 Docker Compose 的volumes部分找到這些 Docker 概念: https : //docs.docker.com/compose/compose-file/#/volumes-volumedriver

例子:

volumes:
  # Just specify a path and let the Engine create a volume
  - /container/location

  # Specify an absolute path mapping
  - ./myfolder/location:/container/location

我知道現在回答已經晚了,但我主要是為社區寫這篇文章。

回答:

你只需要這樣做:

    volumes:
       - ./root/instantclient_12_2/ojdbc8.jar:/etc/kafka-connect/jars/ojdbc8.jar
       - type: bind
         source: $HOST/etc
         target: /kernel-etc

然后,為了在“易於調試模式”下運行它,首先使用docker-compose up ,當你確定它工作正常時,通過在最后添加一個-d在它上面放一個環。

重要筆記

1-確保您的docker-compose版本至少為3.2 ,在我的情況下,它是3.7 要更新和擺脫舊版本,請執行以下操作:

sudo apt-get remove docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

來源: https : //github.com/10up/wp-local-docker/issues/58#issuecomment-476786006

2- 不要忘記rm您的舊容器,這樣您就不會遇到與端口相關的奇怪問題。 就是這樣:

docker container stop YOUR_CONTAINER_ID
docker container rm YOUR_CONTAINER_ID

祝你好運。

從 OSX 上的 Docker 3 開始,我必須禁用實驗功能 gRPC 並按照以下方式重新啟動: https : //github.com/microsoft/vscode-remote-release/issues/4171

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM