摘要:它對于每一個容器來說都是唯一的,所以我們可以使用它。首先,我們要確保容器正在運行。命令可以查詢進程的所有容器。創(chuàng)建成功后會返回這個鏡像的信息。請先自行注冊我們登陸吧輸入對應的,,后,提示表示登陸成功上傳自己的鏡像等待上傳完畢即可。。。。
什么是Docker?
簡介:Docker是一個開源的引擎,可以輕松的為任何應用創(chuàng)建一個輕量級的、可移植的、自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集群和其他的基礎應用平臺。Docker通常用于如下場景:
web應用的自動化打包和發(fā)布;
自動化測試和持續(xù)集成、發(fā)布;
在服務型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應用;
從頭編譯或者擴展現(xiàn)有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環(huán)境。
Docker 的安裝 ubuntu環(huán)境下的安裝在Ubuntu中只需要運行一行命令即可實現(xiàn)Docker的安裝:
sudo apt-get install docker.io
完成后輸入(顯示docker的信息):
sudo docker info
顯示如下(即成功):
Mac OS X : https://docs.docker.com/installation/mac/
Windows :https://docs.docker.com/installation/windows/
運行容器(入門操作)安裝好之后,我們可以開始一些簡單的入門級別的操作:
先理解兩個概念:
鏡像(image):跟平常使用的虛擬機的鏡像文件一個意思,相當于一個模板 容器(container):container則是images運行時的的狀態(tài)(可以理解乘,container引用image開啟一個docker的應用)
我們可以通過官方提供給我們的鏡像來進行學習。比如我們想在Docker中運行一個Ubuntu系統(tǒng),很簡單,Docker中得pull命令是用來獲取鏡像的,執(zhí)行下面的命令,就會從官方倉庫里獲取Ubuntu 14.04版本的系統(tǒng):
docker pull ubuntu:16.04
查看docker本地的image
docker images
顯示如下圖:
我們把剛剛的鏡像運行起來,運行起來的鏡像就叫做容器了,容器是可讀寫的,這樣我們就可以在容器里做很多有意思的事情了。run 命令就是將鏡像運行起來的,運行:
docker run -it ubuntu:14.04
會發(fā)現(xiàn)終端交互的用戶名改變了,說明進入了容器的內(nèi)部了,如下圖:
現(xiàn)在在當前狀態(tài)所有的操作都是對應容器,不會影響本身的系統(tǒng),我們可以嘗試在里面安裝軟件(nginx):
sudo apt-get install -y nginx
查看nginx的版本信息:
nginx -v
顯示如下圖(表示安裝成功):
注意:如果不成功提示
Unable to locate package nginx
可以嘗試先更新下源:
sudo apt-get update
最好我們可嘗試退出容器,回到本機環(huán)境:
exit
好我們已經(jīng)學會了如何去獲取image和創(chuàng)建對應的container了,那么我么現(xiàn)在來說說,小伙伴在操作的過程中可能會遇到的問題吧:
nginx -v
我們可以看到容器里面有我們剛安裝的nginx的信息,可是當我們退出容器后:
exit
在重寫運行:
docker run -it ubuntu:14.04
然后再去查看nginx的版本信息
nginx -v
你會發(fā)下nginx 并不存在,也許你會覺得很神奇。。。明明安裝了nginx,現(xiàn)在卻發(fā)現(xiàn)他不見了。。。哈哈!如果你覺得神奇,那么,就說明你還不理解上面的image和container 的概念?。ㄎ覀冊賮硎崂硐掳桑?br>退出容器,回到原來的系統(tǒng),輸入:
sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
結(jié)果如圖:
這個的意思與我們在在終端輸入:
/bin/sh -c "while true; do echo hello world; sleep 1; done"
的作用并沒有差異,只是將對應的執(zhí)行命令的對象轉(zhuǎn)換到容器中執(zhí)行;
結(jié)果如圖:
這是一個忠實的 hello world 進程:一個腳本會一直輸出 "hello world"
為什么我們看不到的一大堆的 "hello world" ? 而是docker返回的一個很長的字符串:
這個長的字符串叫做容器ID(container ID)。它對于每一個容器來說都是唯一的,所以我們可以使用它。
注意:容器 ID 是有點長并且非常的笨拙,稍后我們會看到一個短點的 ID,某些方面來說它是容器 ID 的簡化版。
首先,我們要確保容器正在運行。我們可以使用 docker ps 命令來查看。docker ps 命令可以查詢 docker 進程的所有容器。
這里我們看到了以進程模式運行的容器。docker ps 命令會返回一些有用的信息,這里包括一個短的容器
我們也可以停止他:
sudo docker stop containerID將容器轉(zhuǎn)化為鏡像
查看所有的容器
docker ps -a
結(jié)果如圖:
啟動剛剛?cè)萜?并進入容器
docker start containerID docker attach containerID
回到本地系統(tǒng)打包:
使用 commit 命令用來將容器轉(zhuǎn)化為鏡像,運行下面的命令,我們可以講剛剛的容器轉(zhuǎn)換為鏡像:
sudo docker commit -m "Added nginx from ubuntu16.04" -a "xiaozhen" containerID xiaozhen/ubuntu-nginx:v1
其中,-m 參數(shù)用來來指定提交的說明信息;-a可以指定用戶信息的;containerID 代表的時容器的id;xiaozhen/ubuntu-nginx:v1指定目標鏡像的用戶名、倉庫名和 tag 信息。創(chuàng)建成功后會返回這個鏡像的 ID 信息。注意的是,你一定要將 xiaozhen 改為你自己的用戶名。因為下文還會用到此用戶名。
辛苦了這么久,終于有了自己的鏡像了,趕緊裝上去爽一爽吧!
sudo docker run -it xiaozhen/ubuntu-nginx:v1
趕緊看看nginx在不在!
nginx -v
結(jié)果如圖:
存儲鏡像我們剛剛已經(jīng)創(chuàng)建了自己的第一個鏡像,盡管它很簡單,但這已經(jīng)非常棒了,現(xiàn)在,我們希望它能夠被更多的人使用到,此時,我們就需要將這個鏡像上傳到鏡像倉庫,Docker的官方Docker Hub應該是目前最大的Docker鏡像中心,所以,我們就將我們的鏡像上傳到Docker Hub。(請先自行注冊)
我們登陸Docker Hub吧:
sudo docker login
輸入對應的Username,Password,Email 后,提示Login Success 表示登陸成功
上傳自己的鏡像
docker push mexiaozhen/ubuntu-nginx:v1
等待上傳完畢即可
。。。。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26600.html
摘要:確切位置因平臺而異。如果以編程方式使用,這個頁面也是一個強大的調(diào)試工具,能看到所有原始的協(xié)議命令通過連線,於瀏覽器進行通信。警告協(xié)議可以做很多有趣的事,但作為入門選項他令人沮喪。目前,提供了比協(xié)議高級別的。 本文翻譯自:Getting Started with Headless Chrome原文更新時間:July 28,2017作者:Eric Bidelman(Engineer @ G...
摘要:目錄許多開發(fā)者會把的目錄命名為但這並不強迫。所有的檔案都會使用從被編譯成。同時有個小小的重點那就是我們可已觀察編譯後的檔案大小。在專案目錄下執(zhí)行可以觀察截至目前為止的結(jié)果。我們的目標是要把編譯封裝到我們的中。 在今時今日,webpack 已經(jīng)成為前端開發(fā)非常重要的工具之一。本質(zhì)上它是一個 Javascript 模組封裝工具,但透過 loaders 和 plugins 它也可以轉(zhuǎn)換封裝其...
摘要:便宜通配符證書通配符證書是一款全球最大的數(shù)字證書頒發(fā)機構(gòu)之一,是旗下證書品牌。通配符證書原是全球著名,也是全球證書佔有率最高的證書頒發(fā)機構(gòu)。SSL證書根據(jù)保護域名數(shù)量可以分為單域名證書、多域名證書和通配符證書。單域名和多域名SSL證書比較好理解,但很多人對通配符SSL證書的理解有誤。下面我們就聊聊通配符證書。 什麼是通配符SSL證書? 通配符SSL證書又稱為泛域名證書,它...
摘要:如果使用操作系統(tǒng)自帶包安裝,目前安裝的版本是比較舊的。之前版本如果是較低版本的系統(tǒng),需要先更新內(nèi)核。然后重復上面的步驟即可。 Quick Start Installation Ubuntu 通過系統(tǒng)自帶包安裝 Ubuntu 14.04 版本系統(tǒng)中已經(jīng)自帶了 Docker 包,可以直接安裝。 $ sudo apt-get update $ sudo apt-get install -y ...
閱讀 823·2023-04-25 20:18
閱讀 2111·2021-11-22 13:54
閱讀 2551·2021-09-26 09:55
閱讀 3916·2021-09-22 15:28
閱讀 2990·2021-09-03 10:34
閱讀 1726·2021-07-28 00:15
閱讀 1651·2019-08-30 14:25
閱讀 1292·2019-08-29 17:16