部署并使用Docker(Alibaba Cloud Linux 2)
部署并使用Docker(Alibaba Cloud Linux 2)
更新時(shí)間:2021-06-25 14:54
背景信息
部署Docker
使用Docker
制作Docker鏡像
本文介紹如何在Alibaba Cloud Linux 2.1903 LTS 64位操作系統(tǒng)的ECS實(shí)例上部署并使用Docker,適用于熟悉Linux操作系統(tǒng),剛開始使用阿里云ECS的開發(fā)者。
前提條件
已創(chuàng)建了至少一臺(tái)ECS實(shí)例。具體操作,請(qǐng)參見使用向?qū)?chuàng)建實(shí)例。
本教程示例步驟適用于以下ECS實(shí)例配置:
實(shí)例規(guī)格:ecs.g6.large
操作系統(tǒng):公共鏡像Alibaba Cloud Linux 2.1903 LTS 64位
說明 本示例操作命令同樣適用于CentOS 7系統(tǒng)。
網(wǎng)絡(luò)類型:專有網(wǎng)絡(luò)VPC
IP地址:公網(wǎng)IP
背景信息
本教程主要介紹以下內(nèi)容:
部署Docker,具體操作,請(qǐng)參見部署Docker。
使用Docker。
Docker的基本用法介紹,請(qǐng)參見使用Docker。
制作鏡像的示例操作,請(qǐng)參見制作Docker鏡像。
部署Docker
本節(jié)主要介紹手動(dòng)安裝Docker的操作步驟,您也可以在云市場(chǎng)購買相應(yīng)鏡像,一鍵部署云服務(wù)器。
遠(yuǎn)程連接ECS實(shí)例。連接方式請(qǐng)參見連接方式概述。
安裝Docker。
您可以通過以下任一方式安裝Docker:
安裝yum源中默認(rèn)的Docker。
yum -y install docker
安裝社區(qū)版Docker(docker-ce)。
運(yùn)行以下命令,下載docker-ce的yum源。
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
運(yùn)行以下命令,安裝Alibaba Cloud Linux 2專用的yum源兼容插件。
說明 僅當(dāng)您的實(shí)例為Alibaba Cloud Linux 2操作系統(tǒng)時(shí),需要運(yùn)行該命令。
yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus
運(yùn)行以下命令,安裝docker-ce。
yum -y install docker-ce
運(yùn)行以下命令,啟動(dòng)Docker服務(wù)。
systemctl start docker
運(yùn)行以下命令,查看Docker服務(wù)的運(yùn)行狀態(tài)。
systemctl status docker
回顯結(jié)果如下圖所示,表示Docker已成功部署并處于運(yùn)行狀態(tài)。
docker active
說明 如果您需要查看Docker的版本,請(qǐng)運(yùn)行docker -v命令。
使用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)程
systemctl enable docker #設(shè)置Docker開機(jī)自啟動(dòng)
systemctl status docker #查看Docker的運(yùn)行狀態(tài)
管理鏡像。本文使用的是來自阿里云倉庫的Apache鏡像。
docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
修改標(biāo)簽。由于阿里云倉庫鏡像的鏡像名稱較長(zhǎng),您可以修改鏡像標(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
管理容器。
進(jìn)入容器。e1abc是執(zhí)行docker images命令查詢到的ImageId,使用docker run命令進(jìn)入容器。
docker run -it e1abc /bin/bash
退出容器。使用exit命令退出當(dāng)前容器。
run命令加上–d參數(shù)可以在后臺(tái)運(yùn)行容器,–name指定容器命名為apache。
docker run -d --name apache e1abc****
進(jìn)入后臺(tái)運(yùn)行的容器。
docker exec -it apache /bin/bash
查看容器ID。
docker ps
將容器做成鏡像,命令的參數(shù)說明:docker commit <容器ID或容器名> [<倉庫名>[:<標(biāo)簽>]]。
docker commit containerID/containerName repository:tag
為了方便測(cè)試和恢復(fù),將源鏡像運(yùn)行起來后,再做一個(gè)命名簡(jiǎn)單的鏡像做測(cè)試。
docker commit 4c8066cd8**** apachephp:v1
運(yùn)行容器并將宿主機(jī)的8080端口映射到容器里去。
docker run -d -p 8080:80 apachephp:v1
在瀏覽器輸入ECS實(shí)例IP地址加8080端口訪問測(cè)試,出現(xiàn)以下內(nèi)容則說明運(yùn)行成功。
說明 ECS實(shí)例的安全組入方向規(guī)則需要放行8080端口。具體操作,請(qǐng)參見添加安全組規(guī)則。
映射結(jié)果
制作Docker鏡像
準(zhǔn)備Dockerfile內(nèi)容。
新建并編輯Dockerfile文件。
vim Dockerfile
按i進(jìn)入編輯模式,添加以下內(nèi)容。
#聲明基礎(chǔ)鏡像來源。
FROM apachephp:v1
#聲明鏡像擁有者。
MAINTAINER DTSTACK
#RUN后面接容器運(yùn)行前需要執(zhí)行的命令,由于Dockerfile文件不能超過127行,因此當(dāng)命令較多時(shí)建議寫到腳本中執(zhí)行。
RUN mkdir /dtstact
#開機(jī)啟動(dòng)命令,此處最后一個(gè)命令需要是可在前臺(tái)持續(xù)執(zhí)行的命令,否則容器后臺(tái)運(yùn)行時(shí)會(huì)因?yàn)槊顖?zhí)行完而退出。
ENTRYPOINT ping www.aliyun.com
按下鍵盤esc鍵,輸入:wq并按下enter鍵,保存并退出Dockerfile文件。
構(gòu)建鏡像。
docker build -t webalibabacloudlinux:v1 . #命令末尾的.是Dockerfile文件的路徑,不能忽略。
docker images #查看是否創(chuàng)建成功。
運(yùn)行容器并查看。
docker run -d webalibabacloudlinux: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 fb2844b6**** dtstackweb:v1 #commit參數(shù)后添加容器ID和構(gòu)建新鏡像的名稱和版本號(hào)。
docker images #列出本地(已下載的和本地創(chuàng)建的)鏡像。
將鏡像推送至遠(yuǎn)程倉庫。
默認(rèn)推送到Docker Hub。您需要先登錄Docker,為鏡像綁定標(biāo)簽,將鏡像命名為Docker用戶名/鏡像名:標(biāo)簽的格式。最終完成推送。
docker login --username=dtstack_plus registry.cn-shanghai.aliyuncs.com #執(zhí)行后輸入鏡像倉庫密碼。
docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/dtstack123/test:[標(biāo)簽]
docker push registry.cn-shanghai.aliyuncs.com/dtstack123/test:[標(biāo)簽]
總結(jié)
以上是生活随笔為你收集整理的部署并使用Docker(Alibaba Cloud Linux 2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简历写了会Kafka,面试官90%会让你
- 下一篇: Docker 安装 Nginx