三:docker的卷管理
之前已經安裝了nginx的容器,訪問介面就是一個歡迎介面,啥也沒有,今天就想往裡面放點東西,學學docker的卷管理。
docker的卷管理用到的命令就是docker volume
[root@docker-1-26 ~]# docker volume --help Usage: docker volume COMMAND Manage volumes Commands: create Create a volume #建立一個卷 inspect Display detailed information on one or more volumes #檢視卷詳情 ls List volumes #檢視卷列表 prune Remove all unused local volumes #刪除所有沒有使用的卷 rm Remove one or more volumes #刪除卷 Run'docker volume COMMAND --help' for more information on a command.
[root@docker-1-26 ~]# docker volume create nginx-20201115 #建立一個卷 nginx-20201115 [root@docker-1-26 ~]# docker volume ls DRIVER VOLUME NAME local nginx-20201115
[root@docker-1-26 ~]# docker volume inspect nginx-20201115 #檢視卷詳情
[
{
"CreatedAt": "2020-11-15T13:13:50+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/nginx-20201115/_data", #卷存放的位置
"Name": "nginx-20201115",
"Options": {},
"Scope": "local"
}
]
[root@docker-1-26 ~]#
建立一個容器使用該卷:
[root@docker-1-26 ~]# docker run -d -p 10080:80 -v nginx-20201115:/usr/share/nginx/html nginx:nginx20201115 #-v volume 目標位置為nginx的位置 a9c622503d5937bd9453a9a2584cf11f2237a3bc4fdc08c480ae5a2affc29fac
建立完成後,就可以在卷目錄下增加了兩個檔案,其實就是nginx的歡迎首頁,這樣容器的檔案就存在了掛載的捲上,這個思路可以用來進行容器檔案的持久化儲存,不然容器重啟後,檔案就沒了
除去這種對映意外,還能通過本地目錄直接對映
[root@docker-1-26 home]# ll mine/
total 116
drwxr-xr-x. 2 root root 60 Oct 14 2016 css
-rw-r--r--. 1 root root 116409 Nov 16 22:10 index.html
drwxr-xr-x. 2 root root 31 Oct 8 2016 js
[root@docker-1-26 home]#
[root@docker-1-26 mine]# docker container run -d -p 10081:80 -v /home/mine:/usr/share/nginx/html nginx:nginx20201115 #將宿主機路徑對映到容器
2f0756465c2ec18544ba50c84d430cd28c6ac31ac41473c88a08422e5cb915be