Docker是一個流行的基于Linux的容器平臺,它允許開發人員將應用程序及其所有依賴項打包成一個可移植的容器,并在任何操作系統上運行。Docker將應用程序打包在容器中,這使得它們能夠在不同環境中使用相同的方式運行,提高了開發人員的生產力。
在Docker中,容器存儲可分為兩類:容器存儲和主機存儲。用于容器存儲的文件系統通常稱為容器存儲驅動。Docker提供了多個容器存儲驅動程序,包括AUFS、Device Mapper、Btrfs、Overlay等。
docker run --name mymysql \
-v /my/mysql/data:/var/lib/mysql \
mysql:5.7
上面的命令將MySQL容器中數據的存儲位置設置為主機上的/my/mysql/data目錄。數據將保存在主機文件系統中,并通過容器訪問。這種方式的優點是數據是在主機上保存的,因此可以更好的保護數據,并且在備份和恢復數據時更加方便。它對于需要共享數據的容器非常有用。
倉庫是用于存儲和管理Docker鏡像的中央位置。Docker Hub是一個Docker化應用程序的公共倉庫。它包含了大量的Docker鏡像,可以通過Docker CLI或Docker API進行訪問。此外,Docker還允許創建私有倉庫,用于在團隊內部共享鏡像和容器。
docker run -d \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e ADMIN_USERNAME={username} \
-e ADMIN_PASSWORD={password} \
-e TZ=Asia/Shanghai \
--name portainer \
portainer/portainer-ce
Portainer是一款用于管理Docker環境的圖形化管理工具,可以連接到本地或遠程Docker守護程序,并提供了通過簡單的Web界面管理容器、映像、網絡、卷和堆棧等的功能。上面的命令將Portainer的數據存儲在主機上,而不是在容器內部存儲,這使得在容器維護期間不會丟失數據。