Docker實戰(二) 容器使用和映象製作

2021-07-16 06:29:45 字數 2499 閱讀 1072

安裝好之後,我們就可以來開始docker之旅了,

我們現在的docker還是乙個」裸」docker,上面沒有容器,等一下,什麼式容器?所謂容器就是docker中用來執行應用的,docker的容器很輕量級,但功能卻強悍的很。也沒有映象。映象?映象簡單理解就是容器的唯讀版本,用來方便儲存與交流。此時,我們可以通過官方提供給我們的映象來進行學習。比如我們想在docker中執行乙個ubuntu系統,很簡單,docker中得pull命令是用來獲取映象的,執行下面的命令,就會從官方倉庫裡獲取ubuntu 14.04版本的系統:

docker pull ubuntu:14.04

images命令用來檢視本機docker中存在哪些映象,執行docker images就會看到我們剛才獲取的ubuntu14.04系統:

現在,我們把剛剛的映象執行起來,執行起來的映象就叫做容器了,容器是可讀寫的,這樣我們就可以在容器裡做很多有意思的事情了。run 命令就是將映象執行起來的,執行:

docker run -it ubuntu:14.04

仔細看,你會發現終端互動的使用者名稱變掉了,說明我們進入到了容器的內部,效果如下:

現在我們所做的任何操作都是針對於目前容器而言的,不會影響到原來的系統,例如,我們在裡面安裝下nginx伺服器,執行如下命令:

sudo apt-get install -y nginx

完成後執行nginx -v就會發現我們已經將nginx安裝成功:

在上一小節中,我們已經在容器裡安裝好了nginx,接下來我們希望將這個容器內容儲存下來,這樣我們下次就無需再次安裝了。這就是docker中將容器轉換為映象的技術。

如果您還在剛剛的安裝了nginx的終端裡,執行exit退出此終端,回到系統本身的終端:

ps命令可以檢視我們當前都執行了哪些容器,加上-a引數後就表示執行過哪些容器,因為我們剛剛已經退出了安裝nginx的容器,因此我現在想檢視它的話,需要使用-a引數,執行如下命令:

docker ps -a

此時,就會顯示出我們剛剛執行的容器,並且docker會很貼心的隨機給每個容器都起個names方便標示。效果如下:

commit命令用來將容器轉化為映象,執行下面的命令,我們可以講剛剛的容器轉換為映象:

sudo docker commit -m 「added nginx from ubuntu14.04」 -a 「saymagic」 79c761f627f3 saymagic/ubuntu-nginx:v1

其中,-m引數用來來指定提交的說明資訊;-a可以指定使用者資訊的;79c761f627f3代表的時容器的id;saymagic/ubuntu-nginx:v1指定目標映象的使用者名稱、倉庫名和 tag 資訊。建立成功後會返回這個映象的 id 資訊。注意的是,你一定要將saymagic改為你自己的使用者名稱。因為下文還會用到此使用者名稱。

這是我們再次使用docker images命令就會發現此時多出了乙個我們剛剛建立的映象:

此時,如果執行docker run -it saymagic/ubuntu-nginx:v1就會是乙個已經安裝了nginx的容器:

我們剛剛已經建立了自己的第乙個映象,儘管它很簡單,但這已經非常棒了,現在,我們希望它能夠被更多的人使用到,此時,我們就需要將這個映象上傳到映象倉庫,docker的官方docker hub應該是目前最大的docker映象中心,所以,我們就將我們的映象上傳到docker hub。

首先,我們需要成為docker hub的使用者,前往進行註冊。需要注意的是,為了方便下面的操作,你需要將你的使用者名稱設為和我剛剛在上文提到的自定義使用者名稱相同,例如我的剛剛將映象的名字命名為是saymagic/ubuntu-nginx:v2,所以我的使用者名為saymagic、註冊完成後記住使用者名稱、密碼、郵箱。

login預設是用來登陸docker hub的,因此,輸入如下命令來嘗試登陸docker hub:

docker login

執行命令:

docker push saymagic/ubuntu-nginx:v1

這就是我們為什麼將剛剛的映象命名為saymagic/ubuntu-nginx:v1的原因,如果你上面步驟都操作正確的正確的話,是會得到下面的內容:

此時,不出意外的話,我們的映象已經被上傳到docker hub上面了,去docker hub上面看看:

果然,我們在docker hub上有了我們的第乙個映象,此時,其它的使用者就可以通過命令docker pull saymagic/ubuntu-nginx來直接獲取乙個安裝了nginx的ubuntu系統了。不信?那就自己實踐一下吧!

Docker 容器使用

可以通過命令docker command help更深入的了解指定的 docker 命令使用方法。如果我們本地沒有 ubuntu 映象,我們可以使用 docker pull 命令來載入 ubuntu 映象 docker pull ubuntu以下命令使用 ubuntu 映象啟動乙個容器,引數為以命令...

Docker 容器使用

docker version 版本 systemctl status docker.service 狀態 1.檢視所有的容器命令 docker ps a2.啟動乙個已停止的容器 docker start 容器 id 3.停止容器的命令 docker stop 容器 id 4.停止的容器可以通過 do...

docker 容器使用

獲取映象 docker pull 命令來載入 ubuntu 映象 docker pull ubuntu 啟動容器 docker run it ubuntu bin bash 退出終端,直接輸入 exit 進入容器 docker attach 如果從這個容器退出,會導致容器的停止。exit docke...