Docker的寫時復制(Copy-on-write,簡稱為COW)機制允許多個容器共享同一個基礎鏡像,在每個容器中使用時復制(寫時復制)該鏡像的一份獨立副本,以確保容器之間的隔離性并節省存儲空間。
$ docker run -d nginx
這個命令將運行一個新的容器來托管一個nginx進程。 Docker會檢查是否已經擁有指定的nginx鏡像,如果沒有,則會從Docker Hub上下載鏡像并創建一個新的容器。 然后,Docker會記錄這個新容器是由哪個鏡像創建的,并為其分配一個唯一的容器ID。
$ docker run -d --name web1 nginx $ docker run -d --name web2 nginx
這兩個命令分別啟動兩個不同的nginx容器,并將它們命名為web1和web2。由于這兩個容器都是從同一個鏡像創建的,它們之間會共享基本的文件系統和系統庫,但是每個容器都有自己的獨立副本。
$ docker exec -it web2 bash
這個命令將在web2容器中啟動一個新的bash shell,并允許您與容器交互。 如果您在容器中運行命令并更改文件,那么這些更改只會影響當前容器的副本。 但是,如果您查看相同文件在另一個容器中的副本,則它們仍然是原來的版本,并且沒有受到影響。這確保了每個容器的隔離性,并且允許它們共享相同的基礎文件系統。
下一篇vue 移動開發