Docker使用指南-1

阿里的docker容器鏡像網(wǎng)站:https://dev.aliyun.com/search.html?spm=5176.1972343.0.1.55395aaaIRLufN

在centos7中啟動docker會報錯 在/etc/sysconfig/docker 里面--selinux-enabled添加=false

service docker restart

下載鏡像的時候速度不快可以使用阿里云提供的加速器:注冊使用地址https://cr.console.aliyun.com/cn-hangzhou/mirrors 有使用教程

https://svuegzmx.mirror.aliyuncs.com 這個是我的docker鏡像加速地址

使用方法:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

? "registry-mirrors": ["https://svuegzmx.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

還有一種方法是修改配置的且在進程中可以看見:find / -name docker.service

centos6:

nano /etc/systemd/system/multi-user.target.wants/docker.service

centos7:

nano /usr/lib/systemd/system/docker.service

找到 ExecStart= 這一行县爬,在這行最后添加加速器地址 --registry-mirror=<加速器地址>

ExecStart=/usr/bin/dockerd-current --registry-mirror=https://svuegzmx.mirror.aliyuncs.com 這個是我的阿里加速?

systemctl daemon-reload

service docker restart

注:對于 1.12 以前的版本存崖,dockerd 換成 docker daemon亏拉。

相關(guān)docker命令:

http://www.reibang.com/c/706a30476702 我的簡書專題

docker search nginx 查看倉庫中nginx的鏡像

docker pull 鏡像名稱(也可以是在之前阿里鏡像上面的地址)

docker images 查看鏡像

docker rmi 鏡像名或鏡像ID

docker inspect 鏡像名或者鏡像id 【包括了很多信息穿扳,路徑端口,存儲位置等】

docker ps [options]

-a:顯示所有容器,包括未運行的

-f:根據(jù)條件過濾顯示內(nèi)容

--format:指定返回值的模板文件

-l:顯示最近創(chuàng)建的容器

-n:列出最近創(chuàng)建的n個容器

--no-trunc:不截斷輸出

-q:靜默模式,只顯示容器編號

-s:顯示總的文件大小

docker ps -aq 顯示所有的容器ID

docker run --name nginx-1 -it -d -p 888:80 nginx

-d:后臺運行容器, 并返回容器ID立润;不指定時, 啟動后開始打印日志, Ctrl + C 退出命令同時會關(guān)閉容器

-p:宿主機到容器的端口映射, 可指定宿主機的要監(jiān)聽的ip, 默認為 0.0.0.0

docker inspect 容器名或者容器ID? 很多信息重要

進入容器 先確保容器運行:docker start 容器id

docker attach 容器id 如果這個容器是裝的centos或者其他系統(tǒng)鏡像這樣可以直接進去

但是這個容器要是裝的是其他服務(wù)比如nginx,tengine等這個時候默認是debian系統(tǒng)要注意

進入容器的方法是:docker exec -it? 容器名 bash

例如:docker exec -it? tengine-1 bash

由于是基于debin的系統(tǒng) 軟件包管理工具請使用 apt-get等方式

使用docker commit 定制鏡像:

不推薦此方法創(chuàng)建鏡像臃腫媳板,原因是安裝的軟件包桑腮,編譯構(gòu)建,等文件

但是當(dāng)你的機器被入侵的可以保留現(xiàn)場

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

-a:提交的鏡像作者

-c:使用Dockfile指令來創(chuàng)建鏡像

-m:提交時的說明文字

-p:在commit時蛉幸,將容器暫停

前提:存在容器ID

docker commit -a "王上山" -m "這是一個tengine服務(wù)容器的定制鏡像" ab90eebb7b26 tengine-1:v2

docker images 查看鏡像

docker history tengine-1:v2 這個命令查看鏡像內(nèi)的歷史記錄

docker history registry.cn-hangzhou.aliyuncs.com/dtstack/tengine:latest 對之前的鏡像同樣適用

docker history[options] IMAGE

-H:以可讀的格式打印鏡像大小和日期破讨,默認為true

--no-trunc:顯示完整的提交記錄

-q:僅列出提交記錄

定制好鏡像之后,我們嘗試運行該鏡像

docker run --name tengine-2 -it -d -p 8889:80 tengine-1:v2 注意一點要帶tag? tengine-1:v2 運行之后會返回一個容器ID

docker exec -it tengine-2 bash 進入容器

使用Dockfile 定制鏡像:

鏡像的定制實際上就是定制每一層所添加的配置奕纫,文件

可以將每一層的修改提陶,安裝,構(gòu)建匹层,操作的命令寫入腳本隙笆,用該腳本構(gòu)建,定制鏡像

好處是:可以解決無法重復(fù)的問題升筏、鏡像構(gòu)建透明性的問題撑柔、體積的問題

Dockerfile 是一個文本文件,其內(nèi)包含了一條條的指令(Instruction)您访,每一條指令構(gòu)建一層铅忿,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建灵汪。

此處舉例使用Dockerfile定制nginx鏡像

步驟一:空白目錄中檀训,建立文本文件柑潦,并命名為Dockerfile

$ mkdir mynginx

$ cd mynginx/

$ touch Dockerfile

步驟二:編寫腳本

FROM nginx

RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html

FROM 指定基礎(chǔ)鏡像,必須是腳本中第一條指令肢扯,必備指令

RUN? 執(zhí)行指令分為兩種格式:

shell格式:

shell 格式:RUN <命令>妒茬,就像直接在命令行中輸入的命令一樣。剛才寫的 Dockrfile 中的 RUN 指令就是這種格式蔚晨。

舉例:RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html

exec格式:

exec 格式:RUN ["可執(zhí)行文件", "參數(shù)1", "參數(shù)2"],這更像是函數(shù)調(diào)用中的格式肛循。

舉例:

FROM debian:jessie

RUN buildDeps='gcc libc6-dev make' \

&& apt-get update \

&& apt-get install -y $buildDeps \

&& wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz" \

&& mkdir -p /usr/src/redis \

&& tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 \

&& make -C /usr/src/redis \

&& make -C /usr/src/redis install \

&& rm -rf /var/lib/apt/lists/* \

&& rm redis.tar.gz \

&& rm -r /usr/src/redis \

&& apt-get purge -y --auto-remove $buildDeps

僅僅使用RUN指令铭腕,并且使用&&串聯(lián)指令,這并不是在寫shell腳本多糠,而是在定義每一層該如何構(gòu)建

支持 \ 換行累舷,縮進,注釋

最后一組命令添加了清理工作的命令夹孔;刪除了為了編譯構(gòu)建所需的軟件被盈,清理所有下載,展開的文件搭伤,清理了apt緩存文件只怎,這是很重要的一步,我們之前說過怜俐,鏡像是多層存儲身堡,每一層的東西并不會在下一層被刪除,會一直跟隨著鏡像拍鲤。因此鏡像構(gòu)建時贴谎,一定要確保每一層只添加真正需要添加的東西,任何無關(guān)的東西都應(yīng)該清理掉

以上已經(jīng)完成腳本的構(gòu)建

步驟三:構(gòu)建鏡像:

docker build [選項] <上下文路徑/URL/->

docker build -t dockerfile-1 .

. 代表當(dāng)前目錄

構(gòu)建完畢

docker images

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末季稳,一起剝皮案震驚了整個濱河市擅这,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌景鼠,老刑警劉巖仲翎,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異莲蜘,居然都是意外死亡谭确,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門票渠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逐哈,“玉大人,你說我怎么就攤上這事问顷“和海” “怎么了禀梳?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肠骆。 經(jīng)常有香客問我算途,道長,這世上最難降的妖魔是什么蚀腿? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任嘴瓤,我火速辦了婚禮,結(jié)果婚禮上莉钙,老公的妹妹穿的比我還像新娘廓脆。我一直安慰自己,他們只是感情好磁玉,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布停忿。 她就那樣靜靜地躺著,像睡著了一般蚊伞。 火紅的嫁衣襯著肌膚如雪席赂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天时迫,我揣著相機與錄音颅停,去河邊找鬼。 笑死别垮,一個胖子當(dāng)著我的面吹牛便监,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碳想,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼烧董,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了胧奔?” 一聲冷哼從身側(cè)響起逊移,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎龙填,沒想到半個月后胳泉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡岩遗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年扇商,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宿礁。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡案铺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出梆靖,到底是詐尸還是另有隱情控汉,我是刑警寧澤笔诵,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站姑子,受9級特大地震影響乎婿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜街佑,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一谢翎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舆乔,春花似錦岳服、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纲辽。三九已至颜武,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拖吼,已是汗流浹背鳞上。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吊档,地道東北人篙议。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像怠硼,于是被迫代替她去往敵國和親鬼贱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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