Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的Linux機器上,也可以實現虛擬化。(引用於百度百科)
作爲一個運維人員,要做的就是部署/維護環境,開發提交代碼後快速部署/啓動服務/測試人員進行測試,是現在最新面臨的問題,那麼如何運行一套能夠快速啓動的測試環境,這就需要提到docker了
Docker的安裝非常簡單,centos下先安裝epel源,再yum install docker-io就可以安裝完成,安裝完成後,運行docker -d以守護進程的方式啓動docker,下面主要講解docker中一些常用的命令和操作:
環境介紹:
Centos6.5 內核2.6
docker1.7.1
一.鏡像操作
1.搜索鏡像
docker search busybox #從Docker HUB上搜索鏡像
2.拉取鏡像
docker pull mysql #直接拉取官方最新版本鏡像
3.查看本地鏡像
docker p_w_picpaths
4.刪除鏡像(不能存在依賴的容器)
docker rmi busybox
docker rmi f833
5.查看鏡像構建過程
docker history f833
6.鏡像添加標籤
docker tag busybox bb
7.導入/導出鏡像
docker save busybox >/home/busybox.tar #導出保存爲tar文件
docker load</home/busybox.tar #導入成爲一個鏡像
二.容器操作
1.運行容器
docker run -it busybox /bin/bash #以交互方式運行shell命令行
docker run -it f833 /bin/bash
#以後臺方式運行nginx,並把容器的80端口映射到宿主機的80端口,容器名稱nginx
docker run -d -p 80:80 --name nginx nginx
#以後臺方式運行nginx,並把容器的80端口映射到宿主機的80端口,容器名稱nginx,連接tomcat容器,
把宿主機的/logs目錄掛載到容器中的/var/logs/nginx目錄
docker run -d -p 80:80 --name nginx --link tomcat:tomcat -v /logs/:/var/logs/nginx nginx
2.啓動/停止/重啓容器
docker start nginx
docker stop nginx
docker restart nginx
3.刪除容器(必須先停止容器)
docker rm nginx
4.查看容器運行日誌
docker logs nginx
docker logs -f nginx #追蹤模式
5.在容器內執行命令
docker exec nginx ip a #查看容器的ip
6.查看所有容器的狀態
docker ps -a
注意:
當狀態爲Up時,容器內服務正在運行,可以對外提供服務
當狀態爲Exited時,容器內服務已經關閉,不能對外提供服務
7.再次進入運行中的容器
docker attach nginx
這篇‘常用命令’就先聊到這裏,docker功能如此強大,功能遠不止這些,下篇打算聊聊如何擁有自己的私庫,上傳下載鏡像速度有質的提升,敬請期待~