摘要:驗證安裝分析上面指令結(jié)構(gòu)告訴操作系統(tǒng),正在使用程序子指令,創(chuàng)建并運行容器告訴哪個被導入容器打印如下完美,你的電腦上已經(jīng)成功安裝了。我們通過上面指令查看鏡像,顯示的可能比容器要多。
驗證安裝
docker run hello-world # 分析上面指令結(jié)構(gòu): # docker: 告訴操作系統(tǒng),正在使用docker程序 # run: 子指令,創(chuàng)建并運行容器 # hello-world: 告訴docker哪個image被導入容器
打印如下:
完美,你的電腦上已經(jīng)成功安裝docker了。現(xiàn)在我們開始了解第一個概念:容器。按照下面的操作來,先有個感官的認識,稍后會詳細解釋容器。
從上面的指令可以知道,我們的docker已經(jīng)安裝成功了。我們可以用下面的命令查看自己正在運行的容器:
docker ps //顯示所有正在運行的容器
當然,也可能顯示沒有正在運行的容器(剛開始安裝,還沒有運行任何容器)。我們給它加個參數(shù)就能查看所有容器,包括沒有運行的、正在運行的和運行過的。如下:
docker ps -a
結(jié)果圖:
這樣就可以看到所有的容器,你一定能找到 hello-world這個運行過的容器。
鏡像,就是一個文件系統(tǒng),查看自己local的鏡像命令:
docker images //顯示的是本地鏡像
鏡像保存到本地的好處:當加載image的時候,會直接在本地加載,不用去遠程下載。節(jié)省時間,節(jié)省寬帶。查找鏡像地址: https://store.docker.com/comm...
刪除容器鏡像和容器的區(qū)別:容器只是鏡像的一個實例,鏡像被加載只是創(chuàng)建了一個實例。我們通過上面指令查看鏡像,顯示的可能比容器(docker ps -a) 要多。因為還有一些鏡像只是下載在本地,卻沒有被加載,好比maven有個本地倉庫。
docker rm [id/name] #刪除所有 docker rm `docker ps -a -q` #-q表示只返回容器的id
需要注意的是:上面的命令只是刪除容器,不是刪除鏡像。
構(gòu)建自己的鏡像首先創(chuàng)建一個Dockerfile文件,這個文件是一個菜單。由files,environment,commonds 來構(gòu)建一個images.
創(chuàng)建一個mydocker文件夾mkdir mydocker // 進入該目錄下 cd mydocker在新建目錄下創(chuàng)建Dockerfile文件
touch Dcokerfile //用vim打開編輯 vim Dockerfile開始編寫Dockerfile
下面FROM指令的意思是,告訴Docker你要基于哪個鏡像進行構(gòu)建
FORM docker/whalesay:latest
下面RUN指令,給鏡像安裝一個軟件fortunes(因為whalesay是基于ubuntu的,所以下面可以執(zhí)行一些對象的指令)
RUN apt-get -y update && apt-get install fortunes
下面的CMD指令, 告訴鏡像(這里是指成功后的鏡像)最后需要去運行的指令
CMD /usr/games/fortune -a | cowsay好了,一切就緒。開始構(gòu)建吧!
在Dockerfile同級目錄下運行,用docker build 來構(gòu)建,-t (tag)是給鏡像一個tag,方便后面運行。表示Dockerfile在當前目錄下
docker build -t robin-whale .
我們可以看看執(zhí)行的打印輸出,可以了解下詳細的執(zhí)行過程,成功會打印輸出:Successfully built c5857....
查看下自己構(gòu)建的鏡像還記得怎么查看嗎?對,你猜對了!就是用images來查看
docker images
可以看到第一行,就是我們剛剛構(gòu)建的鏡像。
在這里創(chuàng)建賬號
創(chuàng)建倉庫注冊賬號后,登陸。在自己的主頁面,點擊 create Repository創(chuàng)建一個自己的倉庫。
Visibility 這里選擇public,這樣才能分享給他人使用,我們是要擁抱開源。
給你的images打上你的標志在上傳鏡像之前,先給你的images打上你自己的標簽吧!證明這是我的images,可能一不小心,你就出名了,哈哈!!!
賬戶名/鏡像:版本
這里[賬戶名/]就是你的標簽,官方給出的是,標簽用你的docker hub賬戶名。給某個鏡像打標簽用 docker tag
docker tag c58570c0ad0d robinyang0909/robin-whale:latest //docker tag 鏡像id 新標簽:版本
再來執(zhí)行 docker images 看看
可以看到 robinyang0909/robin-whale這個鏡像生成了。再看時間,可以發(fā)現(xiàn),并沒有新建一個鏡像,只是新建了一個images名,指向了robin-whale這個鏡像。
萬事俱備,現(xiàn)在可以上傳自己的鏡像了!你已經(jīng)迫不及待出名了嗎?別慌,先登錄下你的賬戶。
登陸自己的賬戶docker login
執(zhí)行上面命令,然后輸入你的賬戶名和密碼,出現(xiàn) Login Succeeded 登陸成功。
開始push鏡像docker push robinyang0909/robin-whale
回車,開始push你的鏡像,過程估計有點慢,因為docker hub 畢竟不是我們做的,等誰有能力了,你們就去整一個牛逼的開源技術(shù),然后服務(wù)器就放在我們自己國家。
push成功后顯示結(jié)果:
怎么測試我們push到docker hub上的是一個完整的鏡像呢?對,你猜對了!刪除本地鏡像,然后重新從倉庫下載。
刪除本地鏡像有的程序員有“潔癖”,不想在自己的電腦放一些沒用的東西占內(nèi)存,比如剛開始下載的 hello-world鏡像,我就想刪掉!
docker rmi c58570c0ad0d # 你的id肯定跟這里不一樣
要是上面的命令刪不掉的話,用下面的試試:
docker rmi -f c58570c0ad0d #強制刪除
當然,剛開始學習,你的機器上估計也沒有什么重要的鏡像,應該都可以刪除吧!這里教你一招,清空!慎用!
docker rmi -f `docker images -a -q`體驗下載自己容器的快樂
好了,經(jīng)理上面的刪除鏡像,相信你已經(jīng)刪除完那個上傳的鏡像。開始下載運行自己的鏡像吧!怎么做?相信你沒有忘記,就在最上面, 對!docker run ..
docker run robinyang0909/robin-whale
記得加上自己賬戶名,回車,開始下載。估計有點慢,因為我們上傳到的是docker hub上,不是國內(nèi)服務(wù)器。
看到上圖的話,說明你自己構(gòu)建鏡像,上傳,下載,運行這幾步都是成功的!恭喜你成功了邁出了第一步。現(xiàn)在你已經(jīng)慢慢入門的,可以去說,我會使用docker了,哈哈!
這里再來回想一個問題:上面我們在上傳鏡像之前對自己的鏡像打了tag,為什么要這么做?
在下載自己上傳的鏡像,相信你已經(jīng)想到了,如果不加上自己賬戶名的話,那么大家都上傳,要是遇到同名的鏡像咋辦!下載該下載誰的!加上自己的用戶名,就是起一個namespace的作用,類似java里的包名作用。用戶名是不會重復的,因為你注冊的時候,保證了你的用戶名具有唯一性。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/26909.html
摘要:初識是什么是一個開源的應用容器引擎,基于語言并遵從協(xié)議開源。容器是完全使用沙箱機制,相互之間不會有任何接口更重要的是容器性能開銷極低。命令為,如下由此可知,我們新打包的鏡像的為。登錄賬號再輸入自己的賬號密碼即可。 初識Docker Docker是什么? ??Docker 是一個開源的應用容器引擎,基于?Go 語言并遵從Apache2.0協(xié)議開源。??Docker 可以讓開發(fā)者打包他們的...
摘要:至于很具體的操作指令,比如怎么安裝,怎么和來跑一個簡單的,請參考官方文檔部分的或者也可參考文末的一些參考資料參考資料官方文檔入門教程系列簡明教程使用演示中文系列資源從入門到實踐作者更多文章個人網(wǎng)站 docker入門概覽 標簽 : docker [TOC] 本文對docker進行大致介紹,包括概述,安裝,簡單使用,架構(gòu),基本原理等方面 寫在前面 本文是自己學習docker的一個記錄...
摘要:入門系列之一在一個容器里運行指定的應用入門系列之二使用制作包含指定應用的鏡像本文我們會介紹如何將這個本地制作好的鏡像發(fā)布到,讓全世界其他愛好者能夠使用您的鏡像。首先您得在上注冊一個帳號然后創(chuàng)建一個新的,用于存放鏡像。 這個系列的前兩篇文章,我們已經(jīng)把我們的應用成功地在Docker里通過nginx運行了起來,并且用dockerfile里制作好了一個鏡像。 Docker入門系列之一:在一...
摘要:從命名上就知道這是一篇簡單粗暴的新手入門教程,為什么要簡單粗暴我認為有自學能力的人幫他入門就夠了,不能自學的一時半會兒也教不會,不符合入門教程的初衷,建議出門左拐去找找視頻教程本章目標大概了解是個什么玩意知道常用的指令參數(shù)能啟動一個容器不然 從命名上就知道這是一篇簡單粗暴的docker新手入門教程, 為什么要簡單粗暴? 我認為有自學能力的人幫他入門就夠了, 不能自學的一時半會兒也教不會...
摘要:前言其實接觸也有一段時間了,但是一直沒有做下總結(jié),現(xiàn)在網(wǎng)上關(guān)于的介紹也有很多了,本著好記性不如爛筆頭的原則,還是自己再記錄一波吧。實現(xiàn)目標安裝探索基本概念及用法環(huán)境準備位,內(nèi)核版本不低于安裝以下命令均需在權(quán)限下執(zhí)行。 showImg(https://segmentfault.com/img/remote/1460000017894270?w=538&h=344); 前言 其實接觸 do...
閱讀 3378·2023-04-26 01:40
閱讀 3086·2021-11-24 09:39
閱讀 1397·2021-10-27 14:19
閱讀 2641·2021-10-12 10:11
閱讀 1302·2021-09-26 09:47
閱讀 1842·2021-09-22 15:21
閱讀 2697·2021-09-06 15:00
閱讀 883·2021-08-10 09:44