@(關(guān)鍵詞)[Docker|容器]
一、what?Docker?
我的理解:就是能將應(yīng)用程序自動(dòng)部署到容器的引擎员帮,更加方便我集成開(kāi)發(fā),持續(xù)交付項(xiàng)目的東西导饲。
官方介紹:點(diǎn)我捞高,你沒(méi)看錯(cuò),就是我T酢硝岗!
二、where?Docker袋毙?
- 使用Docker容器開(kāi)發(fā)型檀、測(cè)試、部署服務(wù)
- 創(chuàng)建隔離的運(yùn)行環(huán)境
- 搭建測(cè)試環(huán)境
- 搭建學(xué)習(xí)環(huán)境
- 搭建集群環(huán)境
- 搭建多用戶的平臺(tái)即服務(wù)的平臺(tái)
- ........
三听盖、安利放前排
后續(xù)會(huì)繼續(xù)補(bǔ)充胀溺,也歡迎大家補(bǔ)充
四、Docker的相關(guān)技術(shù)
工欲善其事必先利其器皆看,學(xué)習(xí)一些技術(shù)仓坞,首先就需要掌握相關(guān)的基礎(chǔ)知識(shí)。
Namespace命名空間:
- 在
開(kāi)發(fā)語(yǔ)言
中腰吟,命名空間可以將代碼封裝起來(lái)无埃,實(shí)現(xiàn)代碼的隔離,如使用Mybatis時(shí)毛雇,生成的xxxmapper.xml文件中就使用了namespace的東西嫉称,將每個(gè)Mapper文件隔離開(kāi)來(lái);- 在
操作系統(tǒng)
中,命名空間可以隔離系統(tǒng)資源灵疮,如以下的系統(tǒng)資源:
- PID (Process Id)
- NET (Network)
- IPC (InterProcess Communication)
- MNT (Mount)
- UTS (Unix Timesharing System)
**Cgroups (Control groups控制組)**:
>- 設(shè)置資源限制
>- 設(shè)置優(yōu)先級(jí)
>- 進(jìn)行資源的計(jì)量
>- 進(jìn)行資源的控制
##五织阅、Docker的安裝與配置
####前期準(zhǔn)備
- 服務(wù)器系統(tǒng)版本:Ubuntu Server14.04 LTS 64位
- Linux內(nèi)核版本: 3.13.0-86-generic
- Docker版本:1.10.3
####安裝Docker的最新版本
>在其他系統(tǒng)中安裝docker,參考[官網(wǎng)](https://docker.github.io/engine/installation/linux/)
使用以下命令:
sudo apt-get updatecurl -sSL https://get.docker.com|sudo sh
**驗(yàn)證**
1.安裝結(jié)束之后始藕,查看docker版本蒲稳,如下圖:
![docker_version.png](http://upload-images.jianshu.io/upload_images/3269064-e62ff388a1793632.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2.使用docker輸出hello docker
sudo run ubuntu echo 'hello docker'
####六氮趋、Docker常用操作
1.為當(dāng)前用戶添加docker用戶組
sudo groupadd docker #添加一個(gè)名為docker的用戶組
sudo usermod -aG docker $USER #添加用戶到docker用戶組(或?yàn)橄乱粋€(gè)命令)
sudo gpasswd -a $USER docker
sudo service docker restart #重啟docker服務(wù)
docker run hello-world #驗(yàn)證用戶是否已加入docker用戶組(需要退出之后伍派,重新登錄)
2.Docker守護(hù)進(jìn)程的配置與操作
ps -ef |grep docker #查看守護(hù)進(jìn)程
status docker #查看運(yùn)行狀態(tài)
sudo service docker stop #停止Docker服務(wù)
sudo service docker start #啟動(dòng)docker服務(wù)
sudo service docker restart #重啟docker服務(wù)
3.docker啟動(dòng)配置文件
sudo vim /etc/default/docker #打開(kāi)docker的配置文件
4.docker交互式容器的基本操作
>**交互式容器**:命令結(jié)束之后就會(huì)停止的容器(我是這么想的江耀。。诉植。祥国。非官腔)
docker run | MAGE [COMMAND] [ARG...] #啟動(dòng)容器
docker run -i -t IMAGE /bin/bash #啟動(dòng)交互式容器
-i --interactive=true|false 默認(rèn)是false
-t --tty=true|false 默認(rèn)是false
docker ps [-a] [-l] #查看容器
-a #列出所有的容器
-l #列出最新創(chuàng)建的容器
docker inspect [容器ID|容器自定義名稱] #查看已建立的容器
docker run --name==自定義名稱 -i -t IMAGE /bin/bash #容器啟動(dòng)時(shí),自定義容器名
docker start [-i] 容器名 #啟動(dòng)容器
-i #以交互的方式啟動(dòng)容器
docker start rm 容器名 #刪除已停止的容器
5.docker守護(hù)式容器基本操作
>**守護(hù)式容器**:可以長(zhǎng)期的運(yùn)行晾腔,沒(méi)有交互式的會(huì)話舌稀,適合運(yùn)行應(yīng)用程序
- 通過(guò)啟動(dòng)交互式容器,來(lái)啟動(dòng)守護(hù)式容器
1.啟動(dòng)交互式的容器
docker run -i -t IMAGE /bin/bash
2.通過(guò)使用Ctrl+P Ctrl+Q
的方式退出bash灼擂,使容器在后臺(tái)運(yùn)行
- 直接通過(guò)啟動(dòng)后臺(tái)運(yùn)行的方式啟動(dòng)守護(hù)式容器
docker run -d IMAGE [COMMAND] [ARG...]
-d 后臺(tái)運(yùn)行參數(shù)
- 進(jìn)入到已運(yùn)行的容器中
docker attach 容器名
- 停止守護(hù)式容器
docker stop 容器名 #發(fā)送信號(hào)給容器壁查,等待容器停止
docker kill 容器名 #直接停止容器
6.查看容器日志
docker logs [-f] [-t] [--tail] 容器名
-f --follows=true|false #一直跟蹤log,并返回結(jié)果剔应, 默認(rèn)為false
-t --timestamps=true|false #在返回結(jié)果上加上時(shí)間戳 睡腿,默認(rèn)為false
-tail="all " #返回多少數(shù)量的log
7.容器內(nèi)進(jìn)程相關(guān)
docker top 容器名 #查看容器內(nèi)的進(jìn)程
docker exec [-d][-i][-t] 容器名 #在容器中啟動(dòng)新的進(jìn)程
####七、反饋與建議
- 微博:[\[@SombieFF\]](http://weibo.com/3178494643/profile?topnav=1&wvr=6)
- 郵箱:<shexd1001@gmail.com>
- 微信:WeChatId:wxxdong2102
--------
非常感謝您閱讀這份幫助文檔峻贮。點(diǎn)擊分享按鈕席怪,分享給更多的人唄。![wechat.jpg](http://upload-images.jianshu.io/upload_images/3269064-ed314734718e273a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
---------
>后續(xù)我將使用自己的服務(wù)器演示在docker中部署javaweb項(xiàng)目纤控,敬請(qǐng)關(guān)注挂捻。。船万。刻撒。(我就放后面,你打我呀耿导。声怔。。)