docker筆記(一)

docker最近很火的容器化部署平臺挠蛉。我們可以把docker中的鏡像和容器分別理解成類和對象(類的實例 )。本文的測試環(huán)境針對mac谴古,linux上可能會有些許不同悄窃。

檢查Docker Engine蹂窖,Docker Compose和Docker Machine的版本

MacBook:~ max$ docker --version
Docker version 18.03.1-ce, build 9ee9f40

MacBook:~ max$ docker-compose --version
docker-compose version 1.21.1, build 5a3f1a3

MacBook:~ max$ docker-machine --version
docker-machine version 0.14.0, build 89b8332

測試docker是否已經(jīng)部署好轧抗,可以使用docker run hello-world命令瞬测,如果輸出如下內(nèi)容,說明docker已經(jīng)部署完畢

MacBook:~ max$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

上述命令實際已經(jīng)運(yùn)行了一個鏡像為hello-world容器月趟,從上面我們看出docker運(yùn)行hello-world鏡像的過程灯蝴,
1.docker client先與docker daemon(也就是docker server)建立連接
2.docker daemon從 docker hub pull鏡像下來
3.docker daemon根據(jù)鏡像創(chuàng)建了一個容器孝宗,并且產(chǎn)生了output那句"Hello from Docker!"
4.docker daemon把output通過docker client輸出的終端上,所以我們看到了因妇,那句輸出"Hello from Docker!"
至此,這個容器運(yùn)行完畢婚被,也就退出了。
docker ps命令查看正在運(yùn)行的容器址芯,所以我們?nèi)绻榭慈康娜萜鳎枰玫絛ocker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                NAMES
7d0a57302d9b        hello-world         "/hello"                 2 minutes ago       Exited (0) 2 minutes ago                            distracted_mclean

用docker ps -a 命令發(fā)現(xiàn)北专,目前本地只有一個hello-world的鏡像,接下來拓颓,我們試著在后臺運(yùn)行一個nigix服務(wù)看看

docker run -d -p 80:80 --name webserver nginx

默認(rèn)會從docker hub下載的鏡像都是latest鏡像,下載完畢后會在后端啟用一個端口為80的web服務(wù)录粱。
-d :分離模式: 在后臺運(yùn)行
-p (小寫) 參數(shù)來指定端口映射腻格,也就是docker daemon中的nginx鏡像運(yùn)行的端口指定為80,并且映射到本地電腦的80端口
--name webserver:表示把這個nginx服務(wù)命令為webserver
打開瀏覽器青抛,查看本地啟用的web服務(wù),如下



關(guān)閉剛才在后臺運(yùn)行web容器服務(wù)

docker stop webserver

如果想運(yùn)行一個容器

docker start 容器名

刪除容器蜜另,需要注意的是刪除容器時,需要確保容器已經(jīng)停止運(yùn)行

docker rm 容器id

接下來举瑰,pull一個centos鏡像下來,試著在 centos中進(jìn)行相關(guān)的操作此迅,如果centos鏡像沒有的話,需要先把centos鏡像下載下來

拉取tag為latest的centos鏡像時,tag可以省略成如下命令
docker pull centos
拉取全部的centos鏡像耸序,命令為
docker pull centos -a

提示:
如果出現(xiàn)Status: Image is up to date for centos:latest 說明已經(jīng)存在了鏡像centos:latest

我們查看所有的鏡像

docker images

刪除鏡像
如果你執(zhí)行了docker pull centos -a操作,在查看所有鏡像會發(fā)現(xiàn)好多centos都被pull下來了罢坝,刪除鏡像用
如果鏡像id相同,需要用docker rmi REPOSITORY:TAG 進(jìn)行操作嘁酿,否則會報錯

docker rmi 鏡像id

運(yùn)行一個容器
運(yùn)行docker 中的REPOSITORY為centos悴了,TAG為latest鏡像運(yùn)行一個hello world备燃。運(yùn)行完畢后渊抄,我們查看容器docker ps -a脐往,發(fā)現(xiàn)剛才運(yùn)行的容器已經(jīng)退出

docker run centos:latest /bin/echo 'hello world'
當(dāng)然tag為latest時薪铜,我們可以簡寫成
docker run centos /bin/echo 'hello world'

CONTAINER ID        IMAGE               COMMAND                      CREATED               STATUS                                   PORTS                NAMES
7d0a57302d9b        hello-world         "/hello"                               19 minutes ago        Exited (0) 19 minutes ago                                   distracted_mclean
b349c90cd93d        nginx                   "nginx -g 'daemon of…"    44 minutes ago        Exited (0) 43 minutes ago                                  friendly_mahavira
99ecd2d1ec3b        centos:latest       "/bin/echo 'Hello wo…"      About an hour ago   Exited (0) About 1 minutes ago                         sandly_adesa

獲取容器的pid

docker inspect --format "{{.State.pid}}" webserver

進(jìn)入容器

nsenter --target 32439 --mount --uts --ipc --net --pid

默認(rèn)運(yùn)行一個容器時,系統(tǒng)會指定一個容器的名字名字隔箍,如果需要以特定名字啟動一個容器,可以運(yùn)行

docker run --name mycentos centos /bin/echo 'hello-w'

運(yùn)行一個指定名字的容器滨达,并且進(jìn)入對應(yīng)的容器中
-it實際上時-i和-t的參數(shù)的縮寫,-i是讓容器的終端打開捡遍,以便輸入東西。-t是開一個偽終端綁定到我們當(dāng)前的終端上

docker run --name mydocker -it centos /bin/bash

這樣画株,我們就進(jìn)入了centos容器里面了,新打開一個終端谓传,輸入docker ps可以看到正在運(yùn)行的名為mydocker的centos容器

MacBook:~ max$ docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
284a76eeb573        centos              "/bin/bash"         About an hour ago   Up About an hour                        mydocker
MacBook:~ max$

下面的操作在centos容器內(nèi)部操作了哦
表示查看當(dāng)前的目錄
ls /

[root@284a76eeb573 /]# ls /
bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

查看當(dāng)前的進(jìn)程
ps aux

[root@284a76eeb573 /]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  11828  2908 pts/0    Ss   06:01   0:00 /bin/bash
root        14  0.0  0.1  51716  3364 pts/0    R+   06:24   0:00 ps aux
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市紧卒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌常侦,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件聋亡,死亡現(xiàn)場離奇詭異际乘,居然都是意外死亡坡倔,警方通過查閱死者的電腦和手機(jī)脖含,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來养葵,“玉大人,你說我怎么就攤上這事关拒。” “怎么了着绊?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵归露,是天一觀的道長洲脂。 經(jīng)常有香客問我剧包,道長,這世上最難降的妖魔是什么疆液? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮枚粘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馍迄。我一直安慰自己,他們只是感情好攀圈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著现喳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗦篱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天灸促,我揣著相機(jī)與錄音涵卵,去河邊找鬼浴栽。 笑死轿偎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坏晦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昆婿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了挖诸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤痴突,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辽装,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拾积,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拓巧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡肛度,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出承耿,到底是詐尸還是另有隱情,我是刑警寧澤加袋,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站职烧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阳堕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一前普、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拭卿,春花似錦、人聲如沸峻厚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辜王,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罐孝,已是汗流浹背呐馆。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莲兢,地道東北人汹来。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓续膳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親收班。 傳聞我的和親對象是個殘疾皇子坟岔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 《Docker從入門到實踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,375評論 1 39
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,499評論 0 120
  • 先說說什么是鏡像(image)闺阱,什么是容器吧炮车? 這兩者有點(diǎn)像《奇異博士》里的那個鏡像舵变。鏡像就是虛擬出來的世界酣溃, ...
    bboymonk閱讀 55評論 0 0
  • “嘩嘩嘩嘩”,“咄咄咄咄”纪隙,“嘶~嘶~” 很快的洗凈三根絲瓜赊豌,刀與絲瓜成斜面切成細(xì)長的薄片,鍋熱后绵咱,倒油碘饼,下絲瓜片...
    秋之懶風(fēng)閱讀 304評論 4 2
  • 【阿懶導(dǎo)讀:上市公司CFO賺錢的主要方法”妫】 “價格”系列艾恼,原本只有二篇。寫到《價格(二)——搭橋》就算是寫完了钠绍。...
    鄭州投資俱樂部sk閱讀 555評論 0 0