docker基礎(chǔ)

系統(tǒng)環(huán)境:centos7

1、環(huán)境準(zhǔn)備

安裝:yum install docker
開啟服務(wù):service docker start
測試:docker run hello-world (或是docker verison)

2、鏡像測試

搜索本地鏡像:docker images
查看源鏡像庫有關(guān)java方面的鏡像并且收藏數(shù)大于10:docker search -s 10 java
下載鏡像:docker pull *** (直接運行某個鏡像的時候也會自動下載)

后臺運行l(wèi)earn/tutorial鏡像并執(zhí)行sh腳本(腳本含義:每秒輸出一次hello world)
docker run -d learn/tutorial /bin/sh -c "while true; do echo hello world; sleep 1; done"

docker run -t -i runoob/ubuntu:v2 /bin/bash

docker ps 查詢正在運行的鏡像

從上面的查詢的ID來查看此鏡像輸出的日志
docker logs ID

停止鏡像
docker stop ID

3、項目實戰(zhàn)(注意各個版本)

docker容器環(huán)境的安裝

a、centos的安裝

docker pull centos
國外的docker Hub可能比較慢,使用下面的命令修改 daemon.json文件,會添加一個registry-mirrors:注冊服務(wù)器鏡像(使用daocloud的,默認(rèn)為docker Hub)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ce611378.m.daocloud.io

查看本地鏡像列表
docker images

b、操作centos

進(jìn)入系統(tǒng):docker run -i -t centos /bin/bash
新建文件:mkdir test
!!!然后更新yum update(ubuntu的系統(tǒng)是 apt-get update)--------教程中只是做一個修改,直接mkdir
!!!然后exit退出系統(tǒng)----------退出系統(tǒng),容器會停止,所以在此之前用此賬戶再開一個窗口 執(zhí)行下面的操作
(后來發(fā)現(xiàn)docker ps -a 可以查詢到所有的啟動過容器,可以獲取到ID。
docker start ID 啟動停止的鏡像
docker attach ID 進(jìn)入鏡像中 ###exit之后鏡像依舊掛掉
或是 docker exec -i -t ID /bin/bash ###這種方式鏡像在后臺存活
)

c、提交修改

docker commit -m="第一次提交" -a="polaris" 425cef90ab3f polaris/centos:v1
-m: 描述信息
-a: 作者
425cef90ab3f:ID
polaris/centos:v1 :創(chuàng)建的目標(biāo)鏡像名+tag

重新進(jìn)入剛剛提交的鏡像
docker run -i -t polaris/centos:v1 /bin/bash
之前所做的操作都存在

***如果你想推送你的鏡像到注冊中心

首先需要在docker官網(wǎng)創(chuàng)建一個Repository
如果你本地的名字和創(chuàng)建的不一樣,會提示未授權(quán),使用docker tag local-images:v1 dockerHub-images:v1
a、docker login 登錄docker
b、docker push **** 然后push你的本地鏡像(很多操作和git類似)

快速構(gòu)建
1、使用docker bulid來構(gòu)建(會讀取dockerfile文件),推薦!更快速簡潔
2、先pull然后修改之后commit(方法一的底層也是通過這種方式)

** 注意 **

1、從國外服務(wù)器pull鏡像速度較慢,直接使用由DaoCloud或者阿里提供的Registry Mirror服務(wù)

http://blog.daocloud.io/how-to-master-docker-image/

2、掛載磁盤

docker run -it -v /home/download:/mnt polaris/centos:v1 /bin/bash
將宿主的下載文件夾 掛載 到docker容器polaris鏡像中的docker下
但如果你想 在已經(jīng)啟動的docker鏡像中掛載 請參考(還沒試過)http://www.open-open.com/lib/view/open1421996521062.html

3、搭建基本環(huán)境(JDK8 + tomcat7)

a, 現(xiàn)在宿主機(jī)器里wget下資源(JDK8+tomcat7的tar包),坑爹的JDK7官網(wǎng)已經(jīng)不支持游客下載
b, 將宿主磁盤掛載到docker鏡像mnt目錄下,解壓然后cp到自己定義的目錄
c, jdk: 修改/etc/profile,添加路徑保存,然后source /etc/profile更新

4、查看容器相關(guān)信息(主要是查看網(wǎng)絡(luò)配置,容器里面很多命令都沒有)

docker inspect a7e0139b5940

5、端口映射

docker run -i -t -p 5000:8080 polaris/centos:v1 /bin/bash (交互型)
docker run -d -i -t -p 5000:8080 polaris/centos:v1 (后臺型)

6、阿里云(以本人為例子)

下載
docker pull registry.cn-hangzhou.aliyuncs.com/polarisnosnow/polaris:v2

上傳
docker login --username=**** registry.cn-hangzhou.aliyuncs.com
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/polarisnosnow/polaris:[鏡像版本號]
docker push registry.cn-hangzhou.aliyuncs.com/polarisnosnow/polaris:[鏡像版本號]

7、搭建注冊服務(wù)器

docker pull registry
docker run -p 5000:5000 -d -i -t registry
之后就可以直接commit&push了
docker commit cid 127.0.0.1:5000/my_image:v1
docker push 127.0.0.1:5000/my_image:v1

可以使用docker API查看庫中結(jié)果
http://127.0.0.1:5000/v2/_catalog
http://127.0.0.1:5000/v2/my_image/tag/list

注意客戶端在/etc/docker/daemon.json 中添加{ "insecure-registries":["127.0.0.1:5000"]}
安全訪問(默認(rèn)走的https)

8、docker管理界面

dockerUI:只能用于單機(jī),單功能齊全
構(gòu)建腳本:docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker

shipyard:適合集群,各種資源分配,性能檢測等
/etc/sysconfig/docker中添加對2375的監(jiān)聽 OPTIONS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
shipyard構(gòu)建腳本(啟動的容器較多) curl -s https://shipyard-project.com/deploy | bash -s
Username: admin Password: shipyard
或者:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock shipyard/deploy start

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,348評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,083評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,442評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,802評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,983評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,542評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,287評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,486評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,710評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,224評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,462評論 2 378

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