1. 程式人生 > >CentOS7 部署Docker&搭建OwnCloud私人雲盤服務

CentOS7 部署Docker&搭建OwnCloud私人雲盤服務

tencent 都是 over 現在 enc 簡介 常用操作 利用 build

Docker簡介:

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私人雲盤服務