docker 对接-组合:为绑定装载和托管装载定义装载

jw5wzhpr  于 2023-01-29  发布在  Docker
关注(0)|答案(4)|浏览(141)

我使用docker-compose来定义我的服务,在docker中,docker卷有两个概念,第一个是关于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

我想把这些概念Map到docker-composition上,这意味着在使用docker-composition时,我如何定义bind mountmanaged mount

piztneat

piztneat1#

以下是两种类型的配置。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:
wribegjk

wribegjk2#

您可以在Docker Compose的volumes部分找到这些Docker概念:www.example.comhttps://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
xzlaal3s

xzlaal3s3#

答案:

你只需要这样做:

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

图片来源:www.example.comhttps://github.com/10up/wp-local-docker/issues/58#issuecomment-476786006
2-不要忘记rm旧容器,这样就不会遇到奇怪的端口相关问题。

docker container stop YOUR_CONTAINER_ID
docker container rm YOUR_CONTAINER_ID

祝你好运。

vu8f3i0k

vu8f3i0k4#

在OSX上的Docker 3中,我不得不禁用实验特性gRPC并按照以下方式重新启动:https://github.com/microsoft/vscode-remote-release/issues/4171

相关问题