Docker是一種容器技術,其實例本質(zhì)是一個運行在Linux上的進程。
比如,我們可以通過如下命令啟動一個Ubuntu鏡像的實例: docker run -it ubuntu /bin/bash
這個命令做了些什么?它會在當前機器的Docker服務器上查找一個ubuntu鏡像并啟動一個基于該鏡像的容器。容器內(nèi)運行的進程就是/bin/bash,也就是一個終端。
這個實例不同于傳統(tǒng)虛擬機或物理主機上的進程,因為它運行在Docker引擎中,該引擎提供了一種完整的運行環(huán)境。而且,Docker引擎還提供了一些原語,如網(wǎng)絡和卷訪問,來使得容器與外界連接更方便。
我們可以通過如下命令創(chuàng)建一個數(shù)據(jù)卷并將其掛載到容器中: docker volume create mydata docker run -it -v mydata:/app/data ubuntu /bin/bash
這個命令做了些什么?它首先創(chuàng)建了一個名為mydata的數(shù)據(jù)卷。然后,它在啟動容器時將該數(shù)據(jù)卷掛載到了/app/data目錄下,容器內(nèi)的所有對該目錄的訪問都會被重定向到該數(shù)據(jù)卷上。
因此,Docker實例本質(zhì)上是一個進程,但在Docker引擎的幫助下,它可以具有更高級的功能和更好的可移植性。