我可能對卷的工作方式有點困惑,並且我一遍又一遍地閱讀相同的東西,對我來說它應該工作。如果第一次初始化卷,我希望容器內的文件夾中的內容可以複製。docker-compose在初始啓動時命名的卷拷貝內容
我有這樣的事情:
我有一個Dockerfile這樣的: https://github.com/docker-library/tomcat/blob/f6dc3671bf56465917b52c8df4356fa8f0ebafcd/7/jre7/Dockerfile
而之前
EXPOSE 8080
CMD ["catalina.sh", "run"]
我有類似
Tomcat的Dockerfile
VOLUME ["/opt/tomcat/conf"]
EXPOSE 8080
CMD ["catalina.sh", "run"]
當我建立這個形象,我爲tomcat的標籤吧。
然後我有另一個Dockerfile與我設置的一堆環境變量和一個腳本。
像這樣:
MyApp的Dockerfile
FROM tomcat
ENV SOME_VAR=Test1
COPY assets/script.sh /script.sh
第二圖像從第一圖像生成並只是增加了一個腳本,並設置一些設置。到現在爲止還挺好。
我想要做這樣的事情在我的搬運工,compose.yml文件:
泊塢撰寫文件
website:
image: myapp
ports:
- "8000:8080"
volumes:
- /srv/myapp/conf:/opt/tomcat/conf
我想/選擇的內容/ tomcat/conf複製到/srv/myapp/conf當該文件夾第一次被創建。我讀過的所有內容都表明這應該起作用,但它只是創建文件夾而不復制內容。我在這裏錯過了什麼嗎?
基本上我有這個問題: https://github.com/moby/moby/issues/18670
哦,如果有差別我的碼頭工人,撰寫YAML文件使用2.1版本。
在您的docker-compose文件中,您正在將'/ srv/myapp/conf'的內容從本地系統複製到容器內的'/ opt/tomcat/conf'。你在做什麼應該從你的主機內容複製到容器,但我相信你想要這個相反。 – Ayushya