Tạo vùng lưu trữ cho Docker

Tóm tắt nội dung

Khi Container bị xóa, dữ liệu trong đó cũng bị mất, do đó cần sử dụng hệ thống tệp bên ngoài trong Containers làm bộ lưu trữ liên tục nếu bạn muốn lưu dữ liệu.

				
					# create a directory for data
PS C:\Users\Administrator> mkdir C:\docker-storage
# create a test file
PS C:\Users\Administrator> Write-Output 'Docker Persistent Storage Test' | Out-File -Encoding default C:\docker-storage\index.html
# run a container with mounting the directory above on [C:\disk01]
PS C:\Users\Administrator> docker run -it -v C:\docker-storage:C:\disk01 mcr.microsoft.com/windows/servercore:1809
Microsoft Windows [Version 10.0.17763.1637]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\> dir C:\ 
 Volume in drive C has no label.
 Volume Serial Number is 6CA1-73D3

 Directory of C:\

12/15/2020  08:07 PM    <DIR>          disk01
05/06/2020  08:48 PM             5,510 License.txt
12/03/2020  06:14 PM    <DIR>          Program Files
12/03/2020  06:12 PM    <DIR>          Program Files (x86)
12/03/2020  06:15 PM    <DIR>          Users
12/15/2020  08:09 PM    <DIR>          Windows
               1 File(s)          5,510 bytes
               5 Dir(s)  21,199,335,424 bytes free

C:\> type C:\disk01\index.html 
Docker Persistent Storage Test
				
			

Cũng có thể định cấu hình bộ nhớ ngoài bằng lệnh Docker Data Volume.

				
					# create [volume01] volume
PS C:\Users\Administrator> docker volume create volume01
volume01
# display volume list
PS C:\Users\Administrator> docker volume ls
DRIVER              VOLUME NAME
local               volume01

# display details of [volume01]
PS C:\Users\Administrator> docker volume inspect volume01
[
    {
        "CreatedAt": "2020-12-15T20:17:47-08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "C:\\ProgramData\\docker\\volumes\\volume01\\_data",
        "Name": "volume01",
        "Options": {},
        "Scope": "local"
    }
]

# run a container with mounting [volume01] to [C:\disk01] on container
PS C:\Users\Administrator> docker run -it -v volume01:C:\disk01 mcr.microsoft.com/windows/servercore:1809 powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\> ls C:\ 

    Directory: C:\

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       12/15/2020   8:17 PM                disk01
d-r---        12/3/2020   6:14 PM                Program Files
d-----        12/3/2020   6:12 PM                Program Files (x86)
d-r---        12/3/2020   6:15 PM                Users
d-----       12/15/2020   8:31 PM                Windows
-a----         5/6/2020   9:48 PM           5510 License.txt

PS C:\> echo "Docker Volume test" | Out-File C:\disk01\testfile.txt -Encoding Default 
PS C:\> exit 

PS C:\Users\Administrator> Get-Content C:\ProgramData\docker\volumes\volume01\_data\testfile.txt 
Docker Volume test

# possible to mount from other containers
PS C:\Users\Administrator> docker run -v volume01:C:\volume01 mcr.microsoft.com/windows/servercore:1809 powershell -c "Get-Content C:\volume01\testfile.txt"
Docker Volume test
# to remove volumes, do like follows
PS C:\Users\Administrator> docker volume rm volume01
Error response from daemon: remove volume01: volume is in use - [1864ecc444276667189e5c5cd099e38554a316d73b755670a5835742df673588, 89c96e683cb5ebf4a0bdb8614a0f53bf81a7dd0c345a2e45ce0be7cd61e0434c]

# if some containers are using the volume you'd like to remove like above,
# it needs to remove target containers before removing a volume
PS C:\Users\Administrator> docker rm 1864ecc444276667189e5c5cd099e38554a316d73b755670a5835742df673588
PS C:\Users\Administrator> docker rm 89c96e683cb5ebf4a0bdb8614a0f53bf81a7dd0c345a2e45ce0be7cd61e0434c
PS C:\Users\Administrator> docker volume rm volume01
volume01
				
			
Logo Cloud Việt

Thông Tin Và Hoạt Động Của Chúng Tôi

Cloud Việt là đơn vị cung cấp dịch vụ TTDL uy tín tại Việt Nam. Với tiêu chí là đặt quyền lợi và trải nghiệm của khách hàng lên hàng đầu để  đem đến dịch vụ tốt nhất.

Trụ sở chính

110/20/41 đường số 30, phường 6, quận Gò Vấp, TPHCM

Ngày làm việc

Thứ 2 - Thứ 6, Hàng tuần

Giờ làm việc

08 : 00 AM - 18 : 00 PM

Email

Support@cloudviet.com.vn

Hotline

0972 710 812