CentOS7 部署Docker&搭建OwnCloud私人雲盤服務
Docker 是個進程級的輕量化虛擬機,從狹義上來講就是一個進程,從廣義上來講是一個虛擬容器,或者叫應用容器( Application Container )
Docker 中有三個核心概念:Image、Container、Repository。
Image:和 Windows 的那種 ISO 鏡像相比,Docker 中的鏡像是分層的,可復用的,而非簡單的一堆文件叠在一起(類似於一個壓縮包的源碼和一個 Git 倉庫的區別)。
Container: 容器的存在離不開鏡像的支持,他是鏡像運行時的一個載體(類似於實例和類的關系)。依托 Docker 的虛擬化技術,給容器創建了獨立的端口、進程、文件等“空間”,Container 就是一個與宿機隔離 “容器”。容器可宿主機之間可以進行 port、volumes、network 等的通信。
Repository: Docker 的倉庫和 Git 的倉庫比較相似,擁有倉庫名、tag。在本地構建完鏡像之後,即可通過倉庫進行鏡像的分發。常用的 Docker hub 有 https://hub.docker.com/ 、 https://cr.console.aliyun.com/ 等。
Docker相對於VM有以下幾個優點:
啟動速度快,容器啟動本質就是一個開啟一個進程而已,因此都是秒啟,而 VM 通常要更久
資源利用率高,一臺普通 PC 可以跑成百上千個容器,你跑十個 VM 試試。
性能開銷小, VM 通常需要額外的 CPU 和內存來完成 OS 的功能,這一部分占據了額外的資源
總之Docker和傳統的虛擬機有著非常大的區別,下面就來部署一臺Docker研究研究
0:環境檢查
安裝之前,我們首先確保自己的 Linux 系統內核版本高於3.10,並且系統是64位,才能體驗 Docker 。
通過 uname -ir 查看是否滿足要求。
>>uname -ir
1:替換yum源
自帶的源速度太慢,所以我們需要換一下(這裏更換成阿裏雲的源)
>>yum install -y wget #安裝wget工具,如果機器已安裝可以忽略
>>wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
>>yum clean all
>>yum makecache
#如果安裝失敗,可以嘗試先更新系統yum update -y
2:安裝與配置Docker
安裝方式有很多種,本文介紹的是YUM方式
>>yum install -y docker #yum 方式安裝docker
>>vi /etc/sysconfig/docker
添加一行:OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'
>>systemctl restart docker #重啟服務
筆者在這一步踩了個坑:restart一直報錯,無法啟動docker,錯誤提示:
Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel....d=false)
經過一番百度,最終解決方法:
此處意思是linux的內核中的SELinux不支持 overlay2 graph driver ,解決方法有兩個,要麽啟動一個新內核,要麽就在docker裏禁用selinux,通過配置 --selinux-enabled=false,
>>vi /etc/sysconfig/docker
保存,然後可以正常啟動
測試:
>>docker pull hello-world
>>sudo docker run hello-world
出現“Hello From Docker”表示Docker正常運行
常用命令:
1.生命周期管理
docker [run|start|stop|restart|kill|rm|pause|unpause]
a.docker start/stop/restart id
b.docker run
2.常用操作運維
docker [ps|inspect|top|attach|events|logs|wait|export|port]
3.鏡像倉庫
docker [login|pull|push|search]
4.本地鏡像管理
docker [images|rmi|tag|build|history|save|import]
5.其他命令
docker [info|version]
3:在Docker上部署OwnCloud
我們已經部署完成了Docker,現在來試試部署一個OwnCloud服務
3.1:拉取OwnCloud鏡像
>>docker pull owncloud
拉取中///
拉取完成後輸入:>>docker images
可以查看本機上有的鏡像
3.2:部署容器
>>docker run -d -p 9090:80 owncloud
#-d 守護容器,就是後臺運行,退出命令窗口容器也不會停止
#-p 宿主機端口和容器端口映射
#9090:80 宿主機端口:容器公開的端口
3.3:測試
在瀏覽器中輸入 IP:9090
可以看到服務已成功運行
停止服務:
>>docker ps #查看運行中的dock進程
現在可以看到正在運行的鏡像只有owncloud這一個
>>docker stop 19d009f7d305 #19d009f7d305為owncloud的container id
再次鍵入 docker ps 可以看到owncloud已經不在運行了
---END---
參考:http://www.runoob.com/docker/docker-tutorial.html
微信公眾號:itfun
CentOS7 部署Docker&搭建OwnCloud私人雲盤服務