想把docker的檔案掛載在宿主機
阿新 • • 發佈:2020-12-30
原因
我想把資料持久化,但是有不知道需要編寫什麼檔案
思路
- 先隨便啟動一個容器例如es
- 進入容器內部檢視檔案結構
- 把容器內的檔案複製出來
- 刪除容器,使用掛載方式建立容器
容器內部檢視檔案結構(以es為例)
- 檢視
docker exec -it myes bash
pwd
ls
- 複製
bcb0a116e697 是容器id
- cp語法
docker cp [OPTIONS] container:src_path dest_path
docker cp [OPTIONS] dest_path container:src_path
- container是正在執行的docker的ID,可以用docker ps來檢視
- 選項包括-L,保持源目標中的連結
docker cp bcb0a116e697:/usr/share/elasticsearch /usr/local/
刪除容器重新建立容器
docker stop bcb0a116e697 docker rm bcb0a116e697 docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /usr/local/elasticsearch/:/usr/share/elasticsearch/ --name myes docker.elastic.co/elasticsearch/elasticsearch:6.5.4