docker是最近比較流行的容器工具,它可以幫助我們快速部署應用,尤其是在「微服務」環境下,成百個服務要去啟動,停止,部署一次太麻煩,而如果把它部署到docker裡,下一次應用就方便多了,如果需要幾行**就搞定了!
docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。
映象:就是我們windows裡的iso檔案,就是乙個打包好的東西,也類似於ghost這種工具包
容器:將映象啟動後,它會生產乙個容器,我們可以在容器裡新增新的元件,然後生產新的映象!
環境管理複雜
aws的成功, 引導開發者將應用轉移到 cloud 上, 解決了硬體管理的問題,然而中介軟體相關的問題依然存在 (所以openstack heat和 aws cloudformation 都著力解決這個問題)。開發者思路變化提供了可能性。
虛擬化手段的變化
cloud 時代採用標配硬體來降低成本,採用虛擬化手段來滿足使用者按需使用的需求以及保證可用性和隔離性。然而無論是kvm還是xen在 docker 看來,都在浪費資源,因為使用者需要的是高效執行環境而非os, guestos既浪費資源又難於管理, 更加輕量級的lxc更加靈活和快速
lxc的移動性
lxc在 linux 2.6 的 kernel 裡就已經存在了,但是其設計之初並非為雲計算考慮的,缺少標準化的描述手段和容器的可遷移性,決定其構建出的環境難於遷移和標準化管理(相對於kvm之類image和snapshot的概念)。docker 就在這個問題上做出實質性的革新。這是docker最獨特的地方。
一 安裝並新增服務和自啟動項
[root@localhost ~]#
yum install docker
[root@localhost ~]#systemctl start docker.service
[root@localhost ~]#systemctl enable docker.service
二 docker幾個常用的命令
docker ps令檢視容器
docker info檢查docker的安裝是否正確,如果沒有找到此命令,則表示docker沒有正確安裝
docker pull busybox拉取乙個預建的映象
sample_job=$(docker run -d busybox /bin/sh -c "以後臺程序的方式執行hello dockerwhile true; do echo docker; sleep 1; done
")
sample_job命令會隔一秒列印一次docker,使用docker logs可以檢視輸出。如果沒有起名字,那這個job會被分配乙個id,以後使用命令例如docker logs檢視日誌會變得比較麻煩。
docker help所有docker命令
docker logs $sample_job執行docker logs命令來檢視job的當前狀態:
docker stop $sample_job停止名為sample_job的容器
docker restart $sample_job重新啟動該容器
docker stop $sample_job docker rm $sample_job如果要完全移除容器,需要將該容器停止,然後才能移除
docker commit $sample_job job1將容器的狀態儲存為映象
docker images令檢視所有映象的列表
從倉庫中拉取乙個映象
檢視一下這個映象
sudo docker images通過映象,執行乙個容器
docker run -it --name mycorecontainer 2cef2b382ef0在這個容器中進行操作
root@2cef2b382ef0:~/hello#退出當前的容器
root@2cef2b382ef0:/# exit檢視剛才建立的容器
docker ps -a從容器建立乙個新的映象
引數說明
刪除所有未執行 docker 容器
docker rm $(docker ps -a -q)刪除所有未打 tag 的映象
docker rmi $(docker images -q | awk '刪除所有映象/^/
')
docker rmi $(docker images -q)根據格式刪除所有映象
docker rm $(docker ps -qf status=exited)下講我們將學習如何去部署乙個netcore**在docker裡!
docker~linux下的部署和基本命令
nginx linux下的部署
一些概念 一 使用xftp將程式上傳到你的linux上 二 安裝gcc yum yinstall gcc automake autoconf libtool make 三 安裝g yum install gcc gcc c 四 解壓nginx安裝包 tar zxvf nginx 1.8.1.tar....
Mongodb Linux環境下的部署
mongodb服務指令碼的製作 mongodb這個文件型非關係型資料庫,可以說它是最像關係型的了,之前大叔主要講如何使用mongodb,而沒有說過如何去部署和安裝它,而今天大叔有必要講一下,如何在linux環境下去部署這個mongodb,下面請跟我來!一 wget下面安裝包 二 tar解壓方案包 三...
Jexus Linux環境下的部署
jexus 即 jexus web server,簡稱jws,是linux平台上的一款asp.net web伺服器,是 linux unix freebsd 等非windows系統架設 asp.net web 伺服器的核心程式,是企業級asp.net跨平台部署的一種可選方案。與其它web伺服器相比,...