各位好,本人在主機的 /root/test 目錄加入一個submodule:
cd /root/test
git submodule add https://github.com/CESNET/libyang-python.git sm/libyang-python
我寫了一個簡單的dockerfile (sub.Dockerfile)來建立docker image (test_sm),希望在該image中也可以使用和主機端一樣的submodule。
sub.Dockerfile:
FROM debian:buster
RUN apt install -qy git
RUN --mount=type=bind,source=sm/sysrepo-python,target=/home/sm/libyang-python,rw \
cd /home && cp -r /home/sm/libyang-python /
建立image並進入docker container
docker build -t test_sm -f /root/test/sub.Dockerfile .
docker run -it test_sm
雖然在container的/home底下也找得到sm/libyang-python,但卻無法在/home/sm/libyang-python中使用gitfatal: not a git repository
請問要如何更改dockerfile,才能在容器的/home/sm/libyang-python中用git?
本人希望在容器中切換libyang-python之後,主機的libyang-python也會跟著變
(同樣地,在主機改變libyang-python的版本,容器中libyang-python的版也與主機同步)
感謝各位看完! 問得不夠清楚的地方我會再補充
參考 官方文件 建立一個 volume,這樣 host 跟 container 就會 share 同一份檔案。
但我個人不建議在 container 上開發,比較好的做法應該是開發完後在部署或是測試階段使用 container。