1. 程式人生 > 其它 >想把docker的檔案掛載在宿主機

想把docker的檔案掛載在宿主機

技術標籤:Dockerlinux

原因

我想把資料持久化,但是有不知道需要編寫什麼檔案
思路

  1. 先隨便啟動一個容器例如es
  2. 進入容器內部檢視檔案結構
  3. 把容器內的檔案複製出來
  4. 刪除容器,使用掛載方式建立容器

容器內部檢視檔案結構(以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
  1. container是正在執行的docker的ID,可以用docker ps來檢視
  2. 選項包括-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