Docker學習-----第一波

@(關鍵詞)[Docker|容器]

docker-logo-compressed.png

一、what?Docker?

我的理解:就是能將應用程序自動部署到容器的引擎,更加方便我集成開發(fā),持續(xù)交付項目的東西。
官方介紹點我,你沒看錯,就是我??!

二、where?Docker?

  • 使用Docker容器開發(fā)、測試、部署服務
  • 創(chuàng)建隔離的運行環(huán)境
  • 搭建測試環(huán)境
  • 搭建學習環(huán)境
  • 搭建集群環(huán)境
  • 搭建多用戶的平臺即服務的平臺
  • ........

三、安利放前排

后續(xù)會繼續(xù)補充,也歡迎大家補充

四、Docker的相關技術

工欲善其事必先利其器,學習一些技術,首先就需要掌握相關的基礎知識。

Namespace命名空間

  1. 開發(fā)語言中,命名空間可以將代碼封裝起來,實現(xiàn)代碼的隔離,如使用Mybatis時,生成的xxxmapper.xml文件中就使用了namespace的東西,將每個Mapper文件隔離開來;
  2. 操作系統(tǒng)中,命名空間可以隔離系統(tǒng)資源,如以下的系統(tǒng)資源:
  • PID (Process Id)
  • NET (Network)
  • IPC (InterProcess Communication)
  • MNT (Mount)
  • UTS (Unix Timesharing System)

**Cgroups (Control groups控制組)**:
>- 設置資源限制
>- 設置優(yōu)先級
>- 進行資源的計量
>- 進行資源的控制

##五、Docker的安裝與配置
####前期準備
- 服務器系統(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


**驗證**

1.安裝結束之后,查看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.為當前用戶添加docker用戶組

sudo groupadd docker #添加一個名為docker的用戶組
sudo usermod -aG docker $USER #添加用戶到docker用戶組(或為下一個命令)
sudo gpasswd -a $USER docker
sudo service docker restart #重啟docker服務
docker run hello-world #驗證用戶是否已加入docker用戶組(需要退出之后,重新登錄)

2.Docker守護進程的配置與操作

ps -ef |grep docker #查看守護進程
status docker #查看運行狀態(tài)
sudo service docker stop #停止Docker服務
sudo service docker start #啟動docker服務
sudo service docker restart #重啟docker服務

3.docker啟動配置文件

sudo vim /etc/default/docker #打開docker的配置文件

4.docker交互式容器的基本操作
>**交互式容器**:命令結束之后就會停止的容器(我是這么想的。。。。非官腔)

docker run | MAGE [COMMAND] [ARG...] #啟動容器
docker run -i -t IMAGE /bin/bash #啟動交互式容器
-i --interactive=true|false 默認是false
-t --tty=true|false 默認是false
docker ps [-a] [-l] #查看容器
-a #列出所有的容器
-l #列出最新創(chuàng)建的容器
docker inspect [容器ID|容器自定義名稱] #查看已建立的容器
docker run --name==自定義名稱 -i -t IMAGE /bin/bash #容器啟動時,自定義容器名
docker start [-i] 容器名 #啟動容器
-i #以交互的方式啟動容器
docker start rm 容器名 #刪除已停止的容器

5.docker守護式容器基本操作
>**守護式容器**:可以長期的運行,沒有交互式的會話,適合運行應用程序

  - 通過啟動交互式容器,來啟動守護式容器

1.啟動交互式的容器
docker run -i -t IMAGE /bin/bash
2.通過使用Ctrl+P Ctrl+Q的方式退出bash,使容器在后臺運行

- 直接通過啟動后臺運行的方式啟動守護式容器

docker run -d IMAGE [COMMAND] [ARG...]
-d 后臺運行參數(shù)

- 進入到已運行的容器中

docker attach 容器名

- 停止守護式容器

docker stop 容器名 #發(fā)送信號給容器,等待容器停止
docker kill 容器名 #直接停止容器


6.查看容器日志

docker logs [-f] [-t] [--tail] 容器名

    -f --follows=true|false     #一直跟蹤log,并返回結果, 默認為false
    -t --timestamps=true|false  #在返回結果上加上時間戳 ,默認為false 
    -tail="all "                #返回多少數(shù)量的log

7.容器內(nèi)進程相關

docker top 容器名 #查看容器內(nèi)的進程
docker exec [-d][-i][-t] 容器名 #在容器中啟動新的進程


####七、反饋與建議
- 微博:[\[@SombieFF\]](http://weibo.com/3178494643/profile?topnav=1&wvr=6)
- 郵箱:<shexd1001@gmail.com>
- 微信:WeChatId:wxxdong2102
--------
非常感謝您閱讀這份幫助文檔。點擊分享按鈕,分享給更多的人唄。![wechat.jpg](http://upload-images.jianshu.io/upload_images/3269064-ed314734718e273a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



---------

>后續(xù)我將使用自己的服務器演示在docker中部署javaweb項目,敬請關注。。。。(我就放后面,你打我呀。。。)
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容