ECS上搭建Docker(CentOS7)
本文講述 Docker 在 CentOS 系統(tǒng)上的部署過程。關(guān)于 Ubuntu 系統(tǒng)下安裝 Docker,具體實(shí)踐請參考docker實(shí)踐文檔。
適用對象
適用于熟悉Linux操作系統(tǒng),剛開始使用阿里云ECS的開發(fā)者。
主要內(nèi)容
部署docker
docker基本用法
鏡像制作
部署Docker
本文主要說明手動安裝docker的操作步驟,您也可以選擇在云市場購買相應(yīng)鏡像,一鍵部署云服務(wù)器。
本文實(shí)踐操作系統(tǒng)版本為CentOS 7.2 64 3.10.0-514.6.2.el7.x86_64。
Docker要求64位的系統(tǒng)且內(nèi)核版本至少為3.10
添加yum源。
# yum install epel-release –y# yum clean all# yum list
安裝并運(yùn)行Docker。
# yum install docker-io –y# systemctl start docker
檢查安裝結(jié)果。
# docker info
出現(xiàn)以下xin說明信息則表明安裝成功。

Docker基本用法
Docker守護(hù)進(jìn)程管理。
# systemctl start docker #運(yùn)行Docker守護(hù)進(jìn)程# systemctl stop docker #停止Docker守護(hù)進(jìn)程# systemctl restart docker #重啟Docker守護(hù)進(jìn)程
鏡像管理。本文使用的是來自阿里云倉庫的Apache鏡像。
# docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
修改標(biāo)簽,由于阿里云倉庫鏡像的鏡像名稱很長,可以修改鏡像標(biāo)簽以便記憶區(qū)分。
# docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
查看已有鏡像。
# docker images
強(qiáng)制刪除鏡像。
# docker rmi –f registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
容器管理。
e121d5f99e1e是執(zhí)行docker images命令查詢到的IMAGE ID,使用docker run命令進(jìn)入容器。
# docker run –ti e121d5f99e1e /bin/bash
使用exit可以退出當(dāng)前容器。
run命令加上–d參數(shù)可以在后臺運(yùn)行容器,—name指定容器命名為apache。
# docker run -d --name apache e121d5f99e1e
進(jìn)入后臺運(yùn)行的容器。
# docker exec -ti apache /bin/bash
將容器做成鏡像。
# docker commit containerID/containerName newImageName:tag
為了方便測試和恢復(fù),先將源鏡像運(yùn)行起來后再做一個(gè)命名簡單的鏡像做測試。
# docker commit 4c8066cd8c01 apachephp:v1
運(yùn)行容器并將宿主機(jī)的8080端口映射到容器里去。
# docker run -d -p 8080:80 apachephp:v1
在瀏覽器輸入宿主機(jī)ip加8080端口訪問測試,出現(xiàn)以下內(nèi)容則說明運(yùn)行成功。

鏡像制作
準(zhǔn)備dockerfile內(nèi)容。
# vim Dockerfile FROM apachephp:v1 #聲明基礎(chǔ)鏡像來源MAINTAINER DTSTACK #聲明鏡像擁有者RUN mkdir /dtstact #RUN后面接容器運(yùn)行前需要執(zhí)行的命令,由于Dockerfile文件不能超過127行, 因此當(dāng)命令較多時(shí)建議寫到腳本中執(zhí)行ENTRYPOINT ping www.aliyun.com #開機(jī)啟動命令,此處最后一個(gè)命令需要是可在前臺持續(xù)執(zhí)行的命令, 否則容器后臺運(yùn)行時(shí)會因?yàn)槊顖?zhí)行完而退出。
構(gòu)建鏡像。
docker build -t webcentos:v1 . # . 是Dockerfile文件的路徑,不能忽略docker images #查看是否創(chuàng)建成功docker run –d webcentos:v1 #后臺運(yùn)行容器docker ps #查看當(dāng)前運(yùn)行中的容器docker ps –a #查看所有容器,包括未運(yùn)行中的docker logs CONTAINER ID/IMAGE #如未查看到剛才運(yùn)行的容器,則用容器id或者名字查看啟動日志排錯(cuò)docker commit fb2844b6c070 dtstackweb:v1 #commit 后接容器id 和構(gòu)建新鏡像的名稱和版本號。docker images #列出本地(已下載的和本地創(chuàng)建的)鏡像docker push #將鏡像推送至遠(yuǎn)程倉庫,默認(rèn)為 Docker Hub鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選