docker技術入門與實戰-映象、容器、倉庫
1.如果出現Cannot connect to the Docker daemon. Is the docker daemon running on this host?
解決辦法在控制檯輸入:>$ service docker start即可
2.hub.docker.com建立了自己的賬號,如何push和pull
step1——找到本地映象的ID:docker images
step2——登陸Hub:docker login --username=username --password=password --email=email
step3——tag:docker tag <imageID> <namespace>/<image name>:<version tag eg latest>(build,commit命令也可以)
step4——push映象:docker push <namespace>/<image name>
3.本地映象registry執行中,push後如何檢視,或者說我們到底push到哪裡去了?
本地映象預設是儲存在/var/lib/registry或者是/var/lib/ucf/registry中。可以在瀏覽器中開啟127.0.0.1:5000/v2/_catalog檢視我們已經push的映象。其中5000是你執行registry時設定的埠,v2是你的registry的版本,如果是1.*,就是v1,如果是2.*就是v2。
0.0.0.0是預設的ip地址,就像路由器路由表中不存在的,都會將ip報文轉發給0.0.0.0(我們可以設定某個埠為0.0.0.0出口,發出去我們就管不著了,定址的事情就交給下一級路由器了)
255.255.255.255是廣播地址
127網段整體保留,你輸入的127.*.*.*都會轉化為127.0.0.1環回地址。
所以上面在瀏覽器中可以開啟127.*.*.*:5000/v2/_catalog。
Docker容器、映象、倉庫
1.容器:什麼是docker容器呢?就是用來執行映象的小型的虛擬機器,或者說是一個輕量級的沙箱,Docker利用容器來執行和隔離應用。簡單來講,你就可以把它看作簡單的linux系統環境,這裡面會有很多打包好的引用在執行(也可能比較少)。 2.映象:類似於虛擬機器映象,映象是隻讀的,是建立docker容器的基礎。執行中的一個映象就構成了一格容器。 3.倉庫:集中儲存映象的地方,網上有很多可以利用的倉庫,你可以從上面下載各種你需要的映象來使用。你也可以自己建立自己的本地倉庫等等,倉庫根據是否公開分為私有倉庫和公開倉庫兩種。目前最大的公開倉庫是Docker Hub,存放了大量的映象供使用者下載。Docker映象
4.刪除映象 刪除映象的命令是docker rmi(remove images),具體的命令格式為:docker rmi image [image...],其中image可以是標籤或者id,可以同時刪除多個 比如刪除前面下載的ubuntu映象,可以使用如下命令:docker rmi ubuntu 或者docker rmi {id} 噹噹前映象的tag多於一個的時候,也就是使用docker images檢視映象的時候,id相同的多於一個,那麼執行rmi命令只會刪除其中的一個映象tag,如果只剩下一個了,那麼刪掉了就沒了。 有的時候如果容器在執行中,這個時候刪除是會失敗的,有兩種辦法,使用-f引數強制刪除或者先刪除執行的容器,再刪除映象。 方法一:docker rmi -f ubuntu 方法二:docker rm images docker rmi ubuntu 其他相關命令:檢視本機上的執行的容器:docker ps -a ;執行容器 docker run -【parameters】 imagename 5.建立映象 可以基於已有的映象或者容器來建立新的映象,類似於複製操作(和tag的區別是,tag的出來的映象id相同,這個的id不同) 命令:docker commit 【options】 id name 其中,options有三個,分別是-a 作者author -m 資訊message,-p 表示提交時暫停容器執行。 id表示要複製的那個映象的id,name表示新映象的名字。 例子:docker commit -a "yourname" -m " a new docker image" 91sa212zg12fa13 test 執行後得到一個id不同的,名字為test的映象 也可以基於本地模板匯入,這個不再詳說。 6.儲存和載入映象 儲存:docker save -o name.tar imagename:tag,tag可以省略 載入:docker load --input name.tar 7.上傳映象 docker push命令可以上傳到映象操作,預設的是Docker Hub官方倉庫(需要登入) 上傳命令:docker push name:tag,tag可以省略
容器
1.建立容器 命令:docker create -【options】 image:tag 建立成功會返回新建容器的id,可以使用前面提到過的docker ps -a檢視建立的容器。現在建立的容器是停止狀態的,需要使用新的命令啟動容器 命令:docker start docker_id 命令:docker run -[options] image:tag instructions比如用一個命令輸出hellowrold : docker run ubuntu /bin/echo 'hello world' 利用docker run建立並啟動容器時,Docker在後臺執行時的標準操作包括:- 檢查本地是否存在指定映象,不存在就在共有倉庫下載
- 利用映象建立一個容器,然後啟動(create + start)
- 分配一個檔案系統,並在只讀的映象層外面掛一層可讀寫曾
- 從宿主主機配置的網橋介面中橋接一個虛擬介面到容器中去
- 從地址池配置一個ip地址給容器
- 執行使用者指定的應用程式
- 執行完畢後容器被終止
- docker attach命令
- docker exec命令
- nsenter工具 略
例如:docker export ce55ad ubuntu.tar docker import ubuntu.tar myubuntu:ubuntu
倉庫(Repository)
倉庫是集中存放映象的地方,註冊伺服器(Registry)是存放倉庫的具體伺服器,一個伺服器上可以有多個倉庫,每個倉庫下面可以有多個映象。比如dl.dockerpool.com/ubuntu,dl.dockerpool.com是註冊伺服器地址,ubuntu是倉庫名,這個倉庫裡面只有一個映象。倉庫又可以分為共有倉庫和私有倉庫 1.Docker Hub 官方倉庫,包含一萬多個映象,大部分可以直接下載。 官方倉庫的地址是hub.docker.com ,我們可以在瀏覽器開啟,然後直接申請一個賬號。申請完畢之後,只需要在控制檯輸入docker login,根據提示來輸入使用者名稱和密碼以及郵箱來登入。如下圖所示 接下來你就可以對你自己賬戶內的映象進行操作了,比如push一個映象到自己的倉庫,這個push操作可能會遇到各種問題,一般都是網路問題,我遇到的問題如下,我push了三次才成功。 push的過程在最開始已經說了,我們來看我做的整個過程: 1、登入hub, 2.、找到本地映象id 3、我們看圖,如何修改tag。解釋下,修改repository和tag的原因是,你不能將images上傳到docker hub的公有root目錄,只能上傳到你自己的namespace,也就是你在申請賬號時的使用者名稱。比如這裡我就修改成了njufxd12/mynginx:latest,njufxd12就是我的docker hub使用者名稱,mynginx是我對nginx這個映象新起的名字,tag我設定為latest。注意看,nginx和njufxd12/mynginx的image id是一樣的。 4.push操作,可能會出現連線問題,多push幾次就好了。 第一次push,出現因為等待連線,而取消掉請求 第二次push 出現i/o 超時 第三次push 成功 2.建立私有倉庫 1)sudo docker run -d -p 5000:5000 registry //自動下載並啟動一個registry容器,這個容器可以建立本地的私有倉庫 當然也可以設定上傳映象的目錄 sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry 其中5000:5000表示所有ip地址的5000埠上傳都會上傳到指定倉庫。 2)改名 sudo docker tag id 192.168.1.1:5000/test 3) sudo docker push 192.168.1.1:5000/test。 如果上傳失敗,建議關閉防火牆,按照這個連結的操作來http://www.2cto.com/net/201612/574844.html相關推薦
docker技術入門與實戰-映象、容器、倉庫
1.如果出現Cannot connect to the Docker daemon. Is the docker daemon running on this host? 解決辦法在控制檯輸入:>$ service docker start即可 2.hub.docke
Docker技術入門與實戰 第8章 使用Dockerfile建立映象
Dockerfile是一個文字格式的配置檔案,使用者可以使用Dockerfile來快速建立自定義映象。本章首先介紹Dockerfile典型的基本結構和它支援的眾多指令,並具體講解通過這些指令來編寫定製映象的Dockerfile,以及如何生成映象。最後介紹使用Dockerfil
Docker技術入門與實戰 第二版-學習筆記-8-網路功能network-1-單個host上的容器網路
Docker 中的網路功能介紹 Docker 允許通過外部訪問容器或容器互聯的方式來提供網路服務 1) 外部訪問容器
Docker技術入門與實戰 第二版-學習筆記-8-網路功能network-3-容器訪問控制和自定義網橋
1)容器訪問控制 容器的訪問控制,主要通過 Linux 上的 iptables防火牆來進行管理和實現。 iptables是 Linux 上預設的防火牆軟體,在大部分發行版中都自帶。 容器訪問外部網路 容器要想訪問
Kubernetes權威指南第2版 和 Docker技術入門與實戰第2版 兩本容器的書下載地址
Docker技術入門與實戰第2版目錄[0第0]2版前言[0第0]1版前言[0第0]一部分 基礎入門[0第0]1章 初識容器與Docker 31.1 什麼是Docker 31.2 為什麼要使用Docker 51.3 Docker與虛擬化 71.4 本章小結 9[0第0]2章 核心概念與安裝配置 102.1 核心
Docker技術入門與實戰 第二版-學習筆記-9-Docker Compose 專案-1-舉例說明
Docker Compose 是 Docker 官方編排(Orchestration)專案之一,負責快速在叢集中部署分散式應用 Compose 通過一個配置檔案來管理多個Docker容器,在配置檔案中,所有的容器通過services來定義,然後使用docker-compose
Docker技術入門與實戰 第二版-學習筆記-8-網路功能network-2-相應配置
1) 快速配置指南(詳細使用下面會講) 其中有些命令選項只有在 Docker 服務啟動的時候才能配置,而且不能馬上生效 下面2個命令選項既可以在啟動服務時指定,也可以 Docker 容器啟動(doc
Docker技術入門與實戰 第二版-學習筆記-10-Docker Machine 專案-1-cli
Docker Machine 是 Docker 官方編排(Orchestration)專案之一,負責在多種平臺上快速安裝 Docker 環境 Docker Machine是一種工具,它允許你在虛擬主機上安裝Docker引擎,並使用docker-machine命令管理主機。
《 Docker 技術入門與實戰 》讀書筆記 ( CentOS 安裝 Docker )
PS :個人所有讀書筆記只記錄個人想要的內容,很可能原書大量內容沒有納入筆記中... ... 1. Docker 映象:一個只讀模板,是建立容器的基礎 。 2. Docker 容器:從映象建立執行的例項 ,可以看作是一個簡易版本的 Linux 系統環境 。 3. Do
《Docker技術入門與實戰》pdf
序一 序二 前言 作者簡介 第一部分 Docker入門 第1章 初識Docker 3 1.1 什麼是Docker 3 1.2 為什麼要使用Docker 5 1.3 虛擬化與Docker 7 1.4 本章小結 8 第2章 Docker的核心概念和安裝 9 2.1 核心概念 9 2.2 安裝Docker 11
Docker技術入門與實戰筆記
開發十年,就只剩下這套架構體系了! >>>
《Docker技術入門與實戰第3版2018版》高清中文PDF下載
ESS 特性 安裝 騰訊雲 映射 oracl war 分享 alt 《Docker技術入門與實戰第3版2018版》高清中文PDF下載資料簡介:本書從Docker基本原理開始,深入淺出地講解Docker的構建與操作,內容系統全面,可幫助開發人員、運維人員快速部署Docker應
Docker_技術入門與實戰》.PDF
簡介 在雲端計算時代,開發者將應用轉移到雲上已經解決了硬體管理的問題,然而軟體配置和管理相關的問題依然存在。Docker的出現正好能幫助軟體開發者開闊思路,嘗試新的軟體管理方法來解決這個問題。通過掌握Docker,開發人員便可享受先進的自動化運維理念和工具,無需運維人員介入即可
《docker技術入門與實踐》學習筆記
1.容器的高可用《docker技術入門與實踐.P46》 容器的輕量級特性,推薦在使用容器時在容器前段引入HA(高可靠用)機制,例如使用HAProxy工具來代替容器訪問, 這樣在容器出現故障時候,可以快速切換到其他容器,還可以自動重啟故障容器。 2.資料卷容器《dock
docker的三大元件:映象,容器,倉庫
Docker是開源的一個基於輕量級虛擬化技術的容器引擎專案。它通過分層映象標準化和核心虛擬化技術,使得應用開發者和運維工程師可以以統一的方式跨平臺釋出應用,並且以幾乎沒有額外開銷的情況下提供資源隔離的應用執行環境。我們目前知道的雲服務是基於作業系統級別的隔離,在同一臺物
Docker入門-映象、容器、倉庫簡單命令
映象 1.獲取映象 docker pull dl.dockerpool.com:5000/ubuntu:14.04(dl.dockerpool.com為註冊伺服器,5000為埠號,ubuntu為倉庫
Docker入門與實戰講解
pau spa 個人 開發人員 1.0 創建 依賴 之前 講解 簡述 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口
elasticsearch技術解析與實戰(一) 入門和索引
ilog reat date str last dice elastics replicas nod GET _cat/nodes GET _cat/health GET _cat/shards GET http://10.37.84.124:9200/secislan
Docker的安裝與鏡像、容器、倉庫的管理
login adb ash pytho 說明 emc move 容器 高端 一、安裝docker 1.配置repo倉庫 cat /etc/yum.repos.d/docker.repo [dockerrepo] name=Docker Repository baseur
Docker 三個基本概念——映象、容器、倉庫
文章目錄 1、映象 (Image) 2、容器 (Container) 3、倉庫 (Repository) 3.1、倉庫註冊伺服器 4、映象與容器的關係 5、映象、容器、倉庫 執行關係圖: