Linux操作系統(tǒng)如何在ECS上搭建Docker

本文在介紹linux操作系統(tǒng)如何在ecs上搭建docker的基礎(chǔ)上,重點(diǎn)探討了其具體步驟,本文內(nèi)容很緊湊,希望大家耐心學(xué)習(xí)。

ECS上搭建Docker(CentOS7)

本文講述 Docker 在 CentOS 系統(tǒng)上的部署過程。關(guān)于 Ubuntu 系統(tǒng)下安裝 Docker,具體實(shí)踐請(qǐng)參考docker實(shí)踐文檔。

適用對(duì)象

適用于熟悉linux操作系統(tǒng),剛開始使用阿里云ECS的開發(fā)者。

主要內(nèi)容

部署docker

docker基本用法

鏡像制作

部署Docker

本文主要說明手動(dòng)安裝docker的操作步驟,您也可以選擇在云市場(chǎng)購買相應(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說明信息則表明安裝成功。

Linux操作系統(tǒng)如何在ECS上搭建Docker

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ù)可以在后臺(tái)運(yùn)行容器,—name指定容器命名為apache。

#?docker?run?-d?--name?apache?e121d5f99e1e

進(jìn)入后臺(tái)運(yùn)行的容器。

#?docker?exec?-ti?apache?/bin/bash

將容器做成鏡像。

#?docker?commit?containerID/containerName??newImageName:tag

為了方便測(cè)試和恢復(fù),先將源鏡像運(yùn)行起來后再做一個(gè)命名簡單的鏡像做測(cè)試。

#?docker?commit?4c8066cd8c01?apachephp:v1

運(yùn)行容器并將宿主機(jī)的8080端口映射到容器里去。

#?docker?run?-d?-p?8080:80?apachephp:v1

在瀏覽器輸入宿主機(jī)ip加8080端口訪問測(cè)試,出現(xiàn)以下內(nèi)容則說明運(yùn)行成功。

Linux操作系統(tǒng)如何在ECS上搭建Docker

鏡像制作

準(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ī)啟動(dòng)命令,此處最后一個(gè)命令需要是可在前臺(tái)持續(xù)執(zhí)行的命令, ???????????????????????????????否則容器后臺(tái)運(yùn)行時(shí)會(huì)因?yàn)槊顖?zhí)行完而退出。

構(gòu)建鏡像。

docker?build?-t?webcentos:v1?.???#?.?是Dockerfile文件的路徑,不能忽略 docker?images????????????????????#查看是否創(chuàng)建成功 docker?run?–d?webcentos:v1???????#后臺(tái)運(yùn)行容器 docker?ps????????????????????????#查看當(dāng)前運(yùn)行中的容器 docker?ps?–a?????????????????????#查看所有容器,包括未運(yùn)行中的 docker?logs?CONTAINER?ID/IMAGE???#如未查看到剛才運(yùn)行的容器,則用容器id或者名字查看啟動(dòng)日志排錯(cuò) docker?commit?fb2844b6c070?dtstackweb:v1?#commit?后接容器id?和構(gòu)建新鏡像的名稱和版本號(hào)。 docker?images????????????????????#列出本地(已下載的和本地創(chuàng)建的)鏡像 docker?push??????????????????????#將鏡像推送至遠(yuǎn)程倉庫,默認(rèn)為?Docker?Hub

將鏡像推送到registry。

docker?login?--username=dtstack_plus?registry.cn-shanghai.aliyuncs.com?#執(zhí)行后輸入鏡像倉庫密碼 docker?tag?[ImageId]?registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號(hào)] docker?push?registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號(hào)]

在鏡像倉庫能查看到鏡像版本信息則說明push成功。

其中[ImageId],[鏡像版本號(hào)]請(qǐng)您根據(jù)自己的鏡像信息進(jìn)行填寫。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享