Docker 實(shí)戰(zhàn)筆記(有圖有代碼喲!)

Docker的安裝與配置

CentOS


前提條件

目前沟沙,CentOS 僅在發(fā)行的版本中的內(nèi)核支持Docker
Docker 運(yùn)行在CentOS 7 上要求系統(tǒng)為64位河劝,系統(tǒng)內(nèi)核版本在3.10以上。本次測試運(yùn)行使用的是 centOS 7.2 64位的系統(tǒng)版本矛紫。
使用代碼 uname -r即可查看系統(tǒng)內(nèi)核版本

Docker軟件已經(jīng)包括在默認(rèn)的CentOS-Extras軟件源中赎瞎。因此想要安裝Docker,只需要運(yùn)行下面的yum命令:

yum install docker-io -y

直接yum安裝颊咬,查看版本來看docker是否安裝完成

docker -v

啟動(dòng)docker服務(wù)

service docker start

設(shè)置開機(jī)自啟動(dòng)

chkconfig docker on

由于國內(nèi)訪問 Docker Hub 比較慢务甥,可以使用騰訊云提供的國內(nèi)鏡像源牡辽,加速訪問 Docker Hub 。依次執(zhí)行以下命令:

echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker

systemctl daemon-reload

service docker

Ubuntu


Docker 要求Ubuntu 系統(tǒng)的內(nèi)核版本高于3.10敞临,通過uname -r命令查看當(dāng)前的內(nèi)核版本
本次測試使用的Ubuntu 系統(tǒng)為Ubuntu Server 16.04.1 LTS 64位

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

驗(yàn)證一下Docker 有沒有安裝成功

docker -v

安裝成功催享,因?yàn)橐褂胐ocker hub 的原因,在這里我們需要添加一個(gè)國內(nèi)的鏡像哟绊,這里我們使用阿里云的因妙。修改daemon配置文件/etc/docker/daemon.json來使用加速器

1.  sudo mkdir -p /etc/docker
2.  sudo tee /etc/docker/daemon.json <<-'EOF'
3.  {
4.          "registry-mirrors": ["https://dmmxhzvq.mirror.aliyuncs.com"]
5.  }
6.  EOF
7.  sudo systemctl daemon-reload
8.  sudo systemctl restart docker

Windows


Docker在Windows中需要使用虛擬機(jī)才能夠運(yùn)行,目前支持的版本是Windows 10以及Windows server 2016票髓。在Windows 7中進(jìn)行安裝測試攀涵,無法安裝。截圖如下洽沟。

docker 的基本操作命令

刪除


殺死所有正在運(yùn)行的容器

docker kill $(docker ps -a -q)

刪除所有已經(jīng)停止的容器

docker rm $(docker ps -a -q)

刪除所有未打dangling 標(biāo)簽的鏡像

docker rmi $(docker images -q -f dangling=true)

通過鏡像的id來刪除指定鏡像

docker rmi <image id>

刪除所有鏡像

docker rmi $(docker images -q)

查看

查看正在運(yùn)行的容器

docker ps

查看所有的容器

docker ps -a

查看本地的所有鏡像

docker images -a

查看本地鏡像中REPOSITORY為centos的鏡像

docker images centos

配置鏡像

下載鏡像

docker pull [image name]:[tag]

登錄到倉庫(默認(rèn)為docker hub)

docker login -u [用戶名] -p [密碼]

登出倉庫

docker logout

將本地鏡像上傳到鏡像倉庫(需要先登錄到倉庫)

docker push [image name]:[tag]

容器

強(qiáng)制刪除容器db01以故,db02(-f:通過SIGKLL信號強(qiáng)制刪除一個(gè)運(yùn)行中的容器)

dokcer rm -f db01、db02

刪除容器db01 裆操,并刪除容器掛載的數(shù)據(jù)卷(-v:刪除與容器關(guān)聯(lián)的卷)

dokcer rm -v db01

實(shí)踐中遇到的錯(cuò)誤

1.鏡像無法刪除


docker rmi $(docker images -q)

理論上應(yīng)該可以刪除全部鏡像怒详,但是實(shí)際操作中卻出現(xiàn)了問題。于是只能單獨(dú)進(jìn)行刪除

docker rmi <image id>

如果有image id相同踪区,會出現(xiàn)以下錯(cuò)誤

Error response from daemon: conflict: unable to delete d231ef002eba (must be forced) - image is referenced in one or more repositories

那么可以使用name:tag進(jìn)行刪除.

docker rmi <image name>:<tag>

問題即可解決

2.job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.和Cannot connect to the Docker daemon. Is the docker daemon running on this host?的問題解決

起因:騰訊云服務(wù)器我給他重啟了之后昆烁,發(fā)現(xiàn)docker 命令就一直報(bào) Cannot的錯(cuò)誤。

這可能有兩個(gè)原因:
1.docker服務(wù)沒有啟動(dòng)缎岗;
2.docker沒有相關(guān)的權(quán)限静尼;
原因2呢,用sudo取得權(quán)限就行传泊。
但是這次的問題是原因1鼠渺,那么就啟動(dòng)唄

start docker service

但是就得到了下列這樣的問題

那怎么解決呢,首先看一下/etc/docker/daemon.json這個(gè)文件存不存在眷细,如果存在那就看看里面的內(nèi)容出了什么問題拦盹。

cd /etc/docker
vim daemon.json

然后你把下面的代碼放進(jìn)去,就可以啦

{ "storage-driver": "devicemapper" }

如果daemon.json文件包含格式不正確的JSON溪椎,Docker將無法啟動(dòng)普舆。

然后重啟一下docker

service docker start

ok!運(yùn)行沒得問題咯池磁。

實(shí)例1:wordpress+mysql

安裝相關(guān)鏡像

從鏡像庫(默認(rèn)是Docker hub )中查詢是否有鏡像文件

docker search mysql

將所需鏡像文件下載到本地

docker pull mysql

查詢是否成功

docker images

好的本地庫中有了mysql鏡像奔害,再下載一個(gè)wordpress鏡像

先啟動(dòng)mysql

docker run --name lir_mysql -e MYSQL_ROOT_PASSWORD=lir123 -d mysql

--name lir_mysql 給容器命名為lir_mysql
-e 設(shè)置環(huán)境變量
-d 后臺運(yùn)行容器,并返回容器ID

先檢查一下有沒有運(yùn)行成功

docker ps

好的地熄,運(yùn)行成功了!再啟動(dòng)wordpress和mysql鏈接一下

docker run --name lir_wordpress --link lir_mysql:mysql -p 8080:80 -d wordpress

--link添加鏈接到另一個(gè)容器
-p默認(rèn)將容器的80端口映射到主機(jī)的隨機(jī)端口
-p 8080:80將容器的80端口映射到主機(jī)的8080端口

好的芯杀,檢查一下

docker ps

容器沒問題端考!

打開網(wǎng)站看一下

配置一下wordpress信息雅潭,ok!8080端口

當(dāng)然我們還可以使用fig來對wordpress配置却特。但是在這里不作演示說明

安裝 aspnet和iis

在docker hub 官方鏡像庫中扶供,微軟有自己的官方發(fā)布的iis和asp.net,以及asp.net core鏡像裂明。
在騰訊云的鏡像加速下椿浓,centos 服務(wù)器進(jìn)行pull這些鏡像。

無法成功闽晦!可能是國內(nèi)的鏡像庫并沒有這些鏡像扳碍,所以拉取docker hub,但是docker hub在國內(nèi)沒有鏡像服務(wù)仙蛉,加之國情如此笋敞。。荠瘪。

換Ubuntu系統(tǒng)夯巷,使用docker hub mirror 進(jìn)行加速服務(wù),首先要先注冊賬號哀墓,然后使用命令趁餐,將自有的主機(jī)注冊到docker hub mirror中

curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s xxx

xxx為注冊賬號的id

配置成功后的信息

相關(guān)的docker容器可視化服務(wù)有很多,但是大部分都是收費(fèi)的篮绰。企業(yè)用必須自己搭建自己的鏡像服務(wù)器和相關(guān)管理系統(tǒng)

在Ubuntu服務(wù)器中pull iis和aspnet的官方鏡像澎怒。發(fā)現(xiàn)如下問題

沒錯(cuò),linux系統(tǒng)中的docker無法跑起官方的aspnet和iis鏡像阶牍,錯(cuò)誤信息提示喷面,windows鏡像無法跑起來。

安裝vm虛擬機(jī)走孽,準(zhǔn)備在win7中跑一個(gè)win10 64和一個(gè)windows server 2016惧辈,然而出現(xiàn)了下面的情況

這個(gè)問題解決需要在本機(jī)BIOS中進(jìn)行相關(guān)設(shè)置。


ps:2017年9月18日將會持續(xù)更新磕瓷,等我的固態(tài)到了之后盒齿,我將在windows10中來繼續(xù)研究docker,并且探尋docker 在實(shí)戰(zhàn)中的運(yùn)行困食。如果你有關(guān)于docker 運(yùn)行asp.net程序的經(jīng)驗(yàn)边翁,請留下您的聯(lián)系方式,我迫切需要和您請教一下這個(gè)問題硕盹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末符匾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子瘩例,更是在濱河造成了極大的恐慌啊胶,老刑警劉巖甸各,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異焰坪,居然都是意外死亡趣倾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門某饰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來儒恋,“玉大人,你說我怎么就攤上這事黔漂〗刖。” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵瘟仿,是天一觀的道長箱锐。 經(jīng)常有香客問我攀例,道長瞧预,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任凶赁,我火速辦了婚禮观蜗,結(jié)果婚禮上臊恋,老公的妹妹穿的比我還像新娘。我一直安慰自己墓捻,他們只是感情好抖仅,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著砖第,像睡著了一般撤卢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梧兼,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天放吩,我揣著相機(jī)與錄音,去河邊找鬼羽杰。 笑死渡紫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的考赛。 我是一名探鬼主播惕澎,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颜骤!你這毒婦竟也來了唧喉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎欣喧,沒想到半個(gè)月后腌零,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梯找,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唆阿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锈锤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驯鳖。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖久免,靈堂內(nèi)的尸體忽然破棺而出浅辙,到底是詐尸還是另有隱情,我是刑警寧澤阎姥,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布记舆,位于F島的核電站,受9級特大地震影響呼巴,放射性物質(zhì)發(fā)生泄漏泽腮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一衣赶、第九天 我趴在偏房一處隱蔽的房頂上張望诊赊。 院中可真熱鬧,春花似錦府瞄、人聲如沸碧磅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鲸郊。三九已至,卻和暖如春货邓,著一層夾襖步出監(jiān)牢的瞬間秆撮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工逻恐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留像吻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓复隆,卻偏偏與公主長得像拨匆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子挽拂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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

  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一惭每、Docker 簡介 Docke...
    極客圈閱讀 10,473評論 0 120
  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,508評論 15 147
  • 一、Docker 簡介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,379評論 0 27
  • 0x01 核心概念 Docker鏡像類似于虛擬機(jī)鏡像台腥,可以理解為一個(gè)面向Docker引擎的只讀模板宏赘,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,693評論 0 9
  • 我是那種老工廠長大的職工子女。 一個(gè)的大型國有企業(yè)衍生了許許多多的人和事黎侈。曾經(jīng)的輝煌榮耀都是上一代人的事了〔焓穑現(xiàn)在這...
    南方冷無雪閱讀 374評論 0 0