雲服務器 ECS 建站教程:ECS上搭建Docker(CentOS7)
本文講述Docker在CentOS係統上的部署過程。Ubuntu係統下安裝docker,您可以點擊此處查看。更多詳細的實踐您可以參考docker實踐文檔
適用對象
適用於熟悉Linux操作係統,剛開始使用阿裏雲ECS的開發者。
主要內容
- 部署docker
- docker基本用法
- 鏡像製作
部署docker
本文主要說明手動安裝docker的操作步驟,您也可以選擇在雲市場購買相應鏡像,一鍵部署雲服務器。
本文實踐操作係統版本為CentOS 7.2 64 3.10.0-514.6.2.el7.x86_64。
Docker要求64位的係統且內核版本至少為3.10
1、添加yum源。
# yum install epel-release –y
# yum clean all
# yum list
2、安裝並運行Docker。
# yum install docker-io –y
# systemctl start docker
3、檢查安裝結果。
# docker info
出現以下xin說明信息則表明安裝成功。
docker基本用法
1、Docker守護進程管理。
# systemctl start docker #運行Docker守護進程
# systemctl stop docker #停止Docker守護進程
# systemctl restart docker #重啟Docker守護進程
2、鏡像管理。
下載基礎鏡像,具體操作可參考如何下載docker鏡像,本文使用的是來自阿裏雲倉庫的Apache鏡像。您可在阿裏雲docker市場搜索更多鏡像。
# docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
修改標簽,由於阿裏雲倉庫鏡像的鏡像名稱很長,可以修改鏡像標簽以便記憶區分。
# docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
查看已有鏡像。
# docker images
強製刪除鏡像。
# docker rmi –f registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
3、容器管理。e121d5f99e1e是執行docker images命令查詢到的IMAGE ID,使用docker run命令進入容器。
# docker run –ti e121d5f99e1e /bin/bash
使用exit可以退出當前容器。run命令加上–d參數可以在後台運行容器,—name指定容器命名為apache。
# docker run -d --name apache e121d5f99e1e
進入後台運行的容器。
# docker exec -ti apache /bin/bash
將容器做成鏡像。
# docker commit containerID/containerName newImageName:tag
為了方便測試和恢複,先將源鏡像運行起來後再做一個命名簡單的鏡像做測試。
# docker commit 4c8066cd8c01 apachephp:v1
運行容器並將宿主機的8080端口映射到容器裏去。
# docker run -d -p 8080:80 apachephp:v1
在瀏覽器輸入宿主機ip加8080端口訪問測試,出現以下內容則說明運行成功。
鏡像製作
1、準備dockerfile內容。
# vim Dockerfile
FROM apachephp:v1 #聲明基礎鏡像來源
MAINTAINER DTSTACK #聲明鏡像擁有者
RUN mkdir /dtstact #RUN後麵接容器運行前需要執行的命令,由於Dockerfile文件不能超過127行,因此當命令較多時建議寫到腳本中執行
ENTRYPOINT ping www.aliyun.com #開機啟動命令,此處最後一個命令需要是可在前台持續執行的命令,否則容器後台運行時會因為命令執行完而退出。
2、構建鏡像。
docker build -t webcentos:v1 . # . 是Dockerfile文件的路徑,不能忽略
docker images #查看是否創建成功
docker run –d webcentos:v1 #後台運行容器
docker ps #查看當前運行中的容器
docker ps –a #查看所有容器,包括未運行中的
docker logs CONTAINER ID/IMAGE #如未查看到剛才運行的容器,則用容器id或者名字查看啟動日誌排錯
docker commit fb2844b6c070 dtstackweb:v1 #commit 後接容器id 和構建新鏡像的名稱和版本號。
docker images #列出本地(已下載的和本地創建的)鏡像
docker push #將鏡像推送至遠程倉庫,默認為 Docker Hub
3、將鏡像推送到registry。
docker login --username=dtstack_plus registry.cn-shanghai.aliyuncs.com #執行後輸入鏡像倉庫密碼
docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號]
docker push registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號]
在鏡像倉庫能查看到鏡像版本信息則說明push成功
其中[ImageId],[鏡像版本號]請您根據自己的鏡像信息進行填寫。
最後更新:2017-08-13 22:28:21