Docker Hub 使用初探


Docker Hub 使用初探

—— 魏劉宏 2019.10.26

容器的話題越來越熱,今天我也來試試容器的使用,我們以 Docker Hub 為例。

Docker Hub 官網為 https://hub.docker.com/ ,主要用於托管容器鏡像,我們以 Linux 系統 centos 為例:

 

詳細頁面給出了拉取的命令,不帶標簽默認拉取最新的:

 

點擊 View Available Tags 可查看所有標簽,其中標簽 7 應該就是標簽 centos7 的簡寫:

 

我們在 Docker Hub 上可以注冊一個賬號,然后可以創建倉庫,創建一個空倉庫幾乎只需填寫名字即可:

 

創建完賬戶后,在 Linux 系統命令行中使用 docker login 命令在本地登陸 dockerhub:

 

這個是我之前登陸過,所以直接就登上了,不然的話,還需要鍵入用戶名和密碼的。

 

登陸成功后,就可以使用 docker pull centos:7 命令拉取官方鏡像 centos 的標簽號為 7 的分支鏡像:

 

拉取完畢,使用 docker images 命令查看本地存在的鏡像:

 

可以看到剛才拉取的 centos 鏡像了。

 

我們先查看(docker ps)並停止(docker stop <Container Id>)正在運行的容器:

 

由於暫時不需要了,所以使用命令 docker rm $(docker ps -a -q) 刪除所有容器:

 

再使用命令 docker rmi <Image Id> 刪除鏡像,僅保留剛才下載的 centos 鏡像:

 

下面再說明一下 docker 容器使用的其它常用命令:

# 1. 以交互式創建並啟動容器:

docker run -i -t –name dlgcy centos /bin/bash

 

# 2. 在容器命令行狀態下鍵入 Ctrl+P Ctrl+Q 來回到宿主機;

 

# 3. 查看容器運行狀態:

docker ps -a

 

# 4. 再次進入容器:

docker attach dlgcy

 

我們用 docker run -i -t –name init centos:7 /bin/bash 命令啟動一個 centos:7 鏡像的交互式容器,名稱為 init :

 

可以看到命令行前綴已改變,我們目前處於容器中的命令行環境。

 

我們按 Ctrl+P Ctrl+Q 來回到宿主機后,使用命令 docker ps –a 查看運行的容器:

 

我們再用 docker attach init 命令重新進入 init 容器:

 

我們發現沒有 wget 命令,於是進行安裝:

 

然后我們再回到宿主機,使用命令 docker commit <exiting-container> <hub-user>/<repo-name>[:<tag>] 將容器提交為鏡像,這里實際的命令為 docker commit f9127ff7e93e dlgcy/dlgcy:centos-init :

 

可以看到本地已經多了個鏡像。這里是將容器提交為鏡像,如果是要將已經存在的鏡像打標簽為新的鏡像,則使用的命令為 docker tag <existing-image> <hub-user>/<repo-name>[:<tag>] 。

 

現在我們再使用命令 docker push <hub-user>/<repo-name>:<tag> 將提交推送到 dockerhub 服務器上:

 

到網頁上看看:

 

可以看到這個鏡像已經傳上去了。

並且,我們本地可以使用該鏡像來創建容器(使用 -p 2333:2333 這種形式進行端口映射):

 

這樣我們就完成了拉取、提交、推送的完整過程,可見這和 Git 的使用方法是一脈相承的。

 

同步首發:http://dlgcy.com/docker-hub/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM