docker使用筆記

一沐飘、什么是docker

1)docker是linux容器的封裝虫溜。

2)docker運(yùn)行首先要生成鏡像文件image雹姊,鏡像文件包含了程序,和程序運(yùn)行所依賴的各種資源衡楞。?

3)image文件都是繼承其它image文件然后自己往里面添加一些內(nèi)容形成自己的image文件吱雏。

4)通過(guò)image也就是鏡像可以生成容器文件,dokcer每次運(yùn)行run命令都可以創(chuàng)建一個(gè)容器文件瘾境。

二歧杏、docker基本命令使用

1.從鏡像倉(cāng)庫(kù)拉去docker鏡像

docker image pull library/hello-world

2.查看本機(jī)有哪些鏡像文件

docker image ls

3.列出本機(jī)所有容器,包括終止運(yùn)行的容器

docker container ls --all

列出本機(jī)正在運(yùn)行的容器

docker ps | docker container ls

4.會(huì)從 image 文件迷守,生成一個(gè)正在運(yùn)行的容器實(shí)例得滤,

docker run -itd ubuntu /bin/bash

docker run -itd --name test2 --network test-net ubuntu /bin/bash

-t:?在新容器內(nèi)指定一個(gè)偽終端或終端。

-i:?允許你對(duì)容器內(nèi)的標(biāo)準(zhǔn)輸入 (STDIN) 進(jìn)行交互盒犹。

-d: 在大部分的場(chǎng)景下,我們希望 docker 的服務(wù)是在后臺(tái)運(yùn)行的眨业,我們可以過(guò)?-d?指定容器的運(yùn)行模式

--name 指定容器的名稱

--network 指定容器鏈接的網(wǎng)絡(luò)

-P:將容器內(nèi)部使用的網(wǎng)絡(luò)端口隨機(jī)映射到我們使用的主機(jī)上

-p:可以手動(dòng)設(shè)置容器內(nèi)部網(wǎng)絡(luò)端口和主機(jī)端口的映射如:docker run -d -p 5000:5000 training/webapp python app.py

/bin/bash:放在鏡像名后的是命令急膀,這里我們希望有個(gè)交互式 Shell,因此用的是 /bin/bash

命令具有自動(dòng)抓取 image 文件的功能龄捡。如果發(fā)現(xiàn)本地沒有指定的 image 文件卓嫂,就會(huì)從倉(cāng)庫(kù)自動(dòng)抓取。因此聘殖,前面的docker image pull命令并不是必需的步驟晨雳。

5.在使用?-d?參數(shù)時(shí),容器啟動(dòng)后會(huì)進(jìn)入后臺(tái)奸腺。此時(shí)想要進(jìn)入容器餐禁,可以通過(guò)以下指令進(jìn)入:

docker attach 使用此命令對(duì)出后會(huì)導(dǎo)致容器停止

docker exec:推薦大家使用 docker exec 命令,因?yàn)榇送顺鋈萜鹘K端突照,不會(huì)導(dǎo)致容器的停止帮非。

7.容器后端啟動(dòng)后不會(huì)直接進(jìn)入到容器,使用exec可以進(jìn)入容器并且跟容器中的終端進(jìn)行交互

docker exec -it 243c32535da7 /bin/bash

8.使用 docker start 啟動(dòng)一個(gè)已停止的容器

docker start b750bbbcfd88

9.不會(huì)自動(dòng)終止的容器手動(dòng)終止

docker container kill [containID]

10.停止容器的命令如下

docker stop <容器 ID>

11.停止的容器可以通過(guò) docker restart 重啟

docker restart <容器 ID>

12.列出本機(jī)正在運(yùn)行的容器

docker container ls 或 docker ps

13.列出本機(jī)所有容器,包括終止運(yùn)行的容器

docker container ls [--all | -a]

docker ps [--all | -a]

14.刪除docker容器

docker rm

運(yùn)行上面的命令之后末盔,再使用docker container ls --all命令筑舅,就會(huì)發(fā)現(xiàn)被刪除的容器文件已經(jīng)消失了。

15下面的命令可以清理掉所有處于終止?fàn)顟B(tài)的容器陨舱。

$ docker container prune

16.在宿主主機(jī)內(nèi)使用?docker logs?命令翠拣,查看容器內(nèi)的標(biāo)準(zhǔn)輸出:

docker logs [containerId|containerName]

-f:?讓?docker logs?像使用?tail -f?一樣來(lái)輸出容器內(nèi)部的標(biāo)準(zhǔn)輸出。

17.導(dǎo)出容器

docker export 1e560fca3906 > ubuntu.tar

18.可以使用 docker import 從容器快照文件中再導(dǎo)入為鏡像游盲,以下實(shí)例將快照文件 ubuntu.tar 導(dǎo)入到鏡像 test/ubuntu:v1:

cat docker/ubuntu.tar | docker import - test/ubuntu:v1

也可以通過(guò)指定 URL 或者某個(gè)目錄來(lái)導(dǎo)入误墓,例如:

docker import http://example.com/exampleimage.tgz example/imagerepo

19.使用?docker top?來(lái)查看容器內(nèi)部運(yùn)行的進(jìn)程

docker top wizardly_chandrasekhar

20.使用?docker inspect?來(lái)查看 Docker 的底層信息。它會(huì)返回一個(gè) JSON 文件記錄著 Docker 容器的配置和狀態(tài)信息

docker inspect wizardly_chandrasekhar

21.docker network create -d bridge test-net

docker容器新建網(wǎng)路橋接

參數(shù)說(shuō)明:

-d:參數(shù)指定 Docker 網(wǎng)絡(luò)類型背桐,有 bridge优烧、coverlay

22.生成新的鏡像

docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

-m:?提交的描述信息

-a:?指定鏡像作者

e218edb10161:容器 ID

runoob/ubuntu:v2:?指定要?jiǎng)?chuàng)建的目標(biāo)鏡像名

docker tag 860c279d2fec runoob/centos:dev

docker tag?鏡像ID,這里是?860c279d2fec ,用戶名稱链峭、鏡像源名(repository name)和新的標(biāo)簽名(tag)

docker build?-t?nginx:v3 .

根據(jù)Dockerfile文件創(chuàng)建鏡像,指令最后一個(gè)?.?是上下文路徑

23.推送鏡像

docker push username/ubuntu:18.04

需要先登錄畦娄,把本地鏡像推送到鏡像倉(cāng)庫(kù)中

24.docker容器數(shù)據(jù)持久化

1.bind mounts:方式將宿主機(jī)任意位置的文件夾掛在到容器中

docker run --name web -d -v C:\Users\EDY\docker:/usr/share/nginx/html -p 88:80? nginx:v3

2.volumes: 文件卷,docker 管理宿主機(jī)文件系統(tǒng)的一部分

docker volumes create nginx-vol 創(chuàng)建docker文件卷

docker run --name web -d -v nginx-vol:/usr/share/nginx/html -p 88:80? nginx:v3

三弊仪、創(chuàng)建鏡像

創(chuàng)建鏡像的方式有三種分別是1.通過(guò)dockerfile創(chuàng)建容器熙卡;2.通過(guò)commit命令根據(jù)容器生成一個(gè)新的鏡像;3.通過(guò)導(dǎo)入導(dǎo)出的方式生成新的鏡像励饵,接下來(lái)我會(huì)詳細(xì)講一下通過(guò)dockerfile和commit命令的方式創(chuàng)建容器驳癌。

1.通過(guò)dockerfile創(chuàng)建鏡像

參考:

dockerfile文件詳解

?cmd 與 entrypoint的區(qū)別

2.通過(guò)commit方式創(chuàng)建鏡像

通過(guò)commit方式創(chuàng)建鏡像主要是基于容器,使用場(chǎng)景是役听,對(duì)一個(gè)容器進(jìn)行改造颓鲜,比如在centos鏡像中通過(guò)二進(jìn)制的方式下載了一個(gè)nginx并且對(duì)nginx進(jìn)行了配置,如果想要把這個(gè)容器作為一個(gè)基礎(chǔ)鏡像模板可以使用commit命令根據(jù)容器生成一個(gè)新的鏡像并且可以把新的鏡像推送到鏡像倉(cāng)庫(kù)中典予。

例:

docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

-m:?提交的描述信息

-a:?指定鏡像作者

e218edb10161:容器 ID

runoob/ubuntu:v2:?指定要?jiǎng)?chuàng)建的目標(biāo)鏡像名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甜滨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子瘤袖,更是在濱河造成了極大的恐慌衣摩,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捂敌,死亡現(xiàn)場(chǎng)離奇詭異艾扮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)占婉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門泡嘴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人逆济,你說(shuō)我怎么就攤上這事磕诊√钗铮” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵霎终,是天一觀的道長(zhǎng)滞磺。 經(jīng)常有香客問(wèn)我,道長(zhǎng)莱褒,這世上最難降的妖魔是什么击困? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮广凸,結(jié)果婚禮上阅茶,老公的妹妹穿的比我還像新娘。我一直安慰自己谅海,他們只是感情好脸哀,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扭吁,像睡著了一般撞蜂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侥袜,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天蝌诡,我揣著相機(jī)與錄音,去河邊找鬼枫吧。 笑死浦旱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的九杂。 我是一名探鬼主播颁湖,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼例隆!你這毒婦竟也來(lái)了爷狈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤裳擎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后思币,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鹿响,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年谷饿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惶我。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡博投,死狀恐怖绸贡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤听怕,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布捧挺,位于F島的核電站,受9級(jí)特大地震影響尿瞭,放射性物質(zhì)發(fā)生泄漏闽烙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一声搁、第九天 我趴在偏房一處隱蔽的房頂上張望黑竞。 院中可真熱鬧,春花似錦疏旨、人聲如沸很魂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)遏匆。三九已至,卻和暖如春骤铃,著一層夾襖步出監(jiān)牢的瞬間拉岁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工惰爬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喊暖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓撕瞧,卻偏偏與公主長(zhǎng)得像陵叽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丛版,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

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