Docker入門系列3 使用

2022-01-20 08:38:39 字數 2644 閱讀 4476

首先強烈建議玩一遍官方的入門教程,interactive commandline tutorial,下面是答案:

檢視版本:docker version

搜尋image:docker search tutorial

建立容器並輸出"hello world":docker run learn/tutorial echo "hello world"

在容器裡安裝ping:docker run learn/tutorial apt-get install -y ping

儲存剛才的狀態:首先用docker ps -l找到安裝ping的容器id,

id                  image               command                created             status              ports 6982a9948422        ubuntu:12.04

apt-get install

ping

1 minute ago exit 0

然後儲存為 'learn/ping':docker commit 698 learn/ping (注:id不用全部寫出,一般寫前面3到4個字元就可以了),此命令會返回乙個新的id

執行:docker run learn/ping ping google.com

檢視執行的容器:docker ps或者「docker inspect 容器id前3或4個字元」

上傳image到docker hub registry:

首先執行「docker images」 will show you which images are currently on your host.

然後docker push learn/ping即可。

自己的庫:

**上有一系列建立好的作業系統和應用程式映像。

每一行命令都會產生乙個新的容器(無論是在sudo docker run -i -t ubuntu /bin/bash 模式下,還是dockerfile裡的run命令),玩了一會兒後,sudo docker ps -a 會看到很多容器,很是干擾視線,可以用一行命令刪除所有容器:

docker rm

`docker ps

-a -q`

有兩種用方式,

寫乙個dockerfile,然後用docker build建立乙個image

在容器裡互動式地(例如docker run -i -t ubuntu /bin/bash)進行一系列操作,然後docker commit固化成乙個image。

image相當於程式語言裡的類,container相當於例項,不過可以動態給例項安裝新軟體,然後把這個container用commit命令固化成乙個image。

使用dockerfile,建立乙個image:

docker build -t yourusername/ubuntu:latest - < test.dockerfile

是官方的image倉庫,也可以用docker-registry建立自己的倉庫,這就好比git, 相當於github,也可以自己diy搭建乙個git伺服器,把自己的**託管到私有伺服器上。

首先,要去  註冊乙個賬號

build乙個image,build命令格式如下:

docker build -t username/repo:tag - < dockerfile

如果沒有tag,則預設為 latest。也可以用commit方式生成images

登陸:docker login

輸入自己的使用者名稱和密碼。

push 到 docker index:

docker push username/repo 如:docker push elesos/

test

(注:生成images時要加elesos,即"docker commit 9576cb8dfbcd elesos/test",不然push時會報"no such id"錯誤)

這條命令會把乙個repo下面的所有tag都push到

注意repo的名字要小於31個字元,不然會push失敗。

停止所有的container,這樣才能夠刪除其中的images:

docker stop $(docker ps

-a -q)

刪除images,通過image的id(image id)來指定刪除誰

docker rmi >

要刪除全部image的話:docker rmi $(docker images -q)

怎麼自己定製乙個 image,例如把常用的軟體裝好後打包 ? 這時候該 dockfile 登場了。dockerfile 實質上是乙個指令碼檔案,用於自動化建立image。

我們在後面的系列中介紹dockfile。

docker qq***【群名稱是docker從入門到精通】:293948287

我的docker庫:repos/elesos/ ,裡面有很多新技術的測試例項。

官方hello world

docker 快速入門

利用docker構建開發環境 | uc技術部落格

建立你的首個 docker 容器

docker:利用linux容器實現可移植的應用部署

Docker入門系列 Docker應用部署(九)

mysql部署 在docker容器中部署mysql,並通過外部mysql客戶端操作mysql server 部署mysql 1.搜尋mysql像 docker search mysql 2.拉取mysql映象 docker pull mysql 5.6 3.建立容器,設定埠對映 目錄對映 在 roo...

Docker入門系列2 安裝

docker容器的啟動可以在秒級實現,這相比傳統的虛擬機器方式要快得多。其次,docker對系統資源的利用率很高,一台主機上可以同時執行數千個docker容器。對開發和運維人員來說,最希望的就是一次建立或配置,可以在任意地方正常執行。開發者可以使用乙個標準的映象來構建一套開發容器,開發完成之後,運維...

Docker 系列之 基礎入門

在安裝前,需要確保目標機器已經開啟了硬體虛擬化和 hyperv 在安裝的過程中建議不要進行其它操作,它需要自動重啟。docker for ubuntu docker for macos 映象加速器 registry mirror 安裝完成後可開啟 bash 視窗檢查安裝是否正常。檢視當前安裝版本 d...