2022年3月22日 星期二

如何複製資料到container裡面

1. 列出正在運行的container

docker ps

example

[root@DESKTOP-B31T57O dist]# docker ps

CONTAINER ID   IMAGE                   COMMAND   CREATED             STATUS             PORTS     NAMES

ddf6ad58f1ea   centos:centos7.9.2009   "bash"    About an hour ago   Up About an hour             kind_perlman

2.  查詢完整container id

docker inspect -f   '{{.Id}}'  SHORT_CONTAINER_ID-or-CONTAINER_NAME

example

[root@DESKTOP-B31T57O dist]# docker inspect -f   '{{.Id}}' kind_perlman

ddf6ad58f1eab9186e761afac45890bc2543e7a353d7cec3d323560b02d960a0

3. 從host copy 檔案到container

sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
example
docker cp type_recognizer e0746a7a15e56c9b906919c909d27644d4a7d900e1d8a12478e8c74bf064b89f:/type_recognizer
這樣會copy到container的根目錄下面
如果要copy到container的home下面
docker cp type_recognizer e0746a7a15e56c9b906919c909d27644d4a7d900e1d8a12478e8c74bf064b89f:/home/type_recognizer


4. 直接開一個互相連結的資料夾

docker volume create --name appa

而在host的位置是

/var/lib/docker/volumes/appa/_data/

在啟動時加一個 -v 參數,就可以指定 volume 要跟容器內哪一個資料夾連通

docker run -v appa:/appb -it centos:centos7.9.2009 bash

上面的appa表示在host時的名稱

而/appb表示在container裡面的資料夾路徑

也可以寫成/ox/appb,這樣在根目錄下就會有一個ox資料夾裡面放著appb資料夾

而appb資料夾裡面放的東西就會是在本機appa資料夾裡面的東西









沒有留言:

張貼留言