本文阿里云百科分享如何在云服務ECS實例上,部署并使用Docker。Docker是一款開源的應用容器引擎,具有可移植性、可擴展性、高安全性和可管理性等優(yōu)勢。開發(fā)者可將應用程序和依賴項打包到一個可移植的容器中,快速發(fā)布到Linux機器上并實現(xiàn)虛擬化,實現(xiàn)更高效地構(gòu)建、部署和管理應用程序。同時,阿里云提供了Docker鏡像源,方便您快速部署Docker。
目錄
前提條件
部署Docker
Docker基本用法
使用Docker制作鏡像
安裝并使用docker-compose
安裝docker-compose
使用docker-compose部署應用
前提條件
已創(chuàng)建一臺基礎ECS實例,并滿足以下配置。
- 操作系統(tǒng):CentOS 7.x 64位、CentOS 8.x 64位、Alibaba Cloud Linux 3 64位、Alibaba Cloud Linux 2 64位
- ECS云服務器:aliyunbaike.com/go/ecs
- 網(wǎng)絡類型:專有網(wǎng)絡VPC
- IP地址:公網(wǎng)IP
- 安全組:入方向開放80、22、8080端口。具體操作,請參見添加安全組規(guī)則。
部署Docker
- 遠程連接ECS實例。
關(guān)于連接方式的介紹,請參見連接方式概述。
-
安裝Docker,CentOS 8.x
-
切換CentOS 8源地址。
CentOS 8操作系統(tǒng)版本結(jié)束了生命周期(EOL),按照社區(qū)規(guī)則,CentOS 8的源地址http://mirror.centos.org/centos/8/內(nèi)容已移除,您在阿里云上繼續(xù)使用默認配置的CentOS 8的源會發(fā)生報錯。如果您需要使用CentOS 8系統(tǒng)中的一些安裝包,則需要手動切換源地址。
-
運行以下命令,安裝DNF。
sudo yum -y install dnf
-
運行以下命令,安裝Docker存儲驅(qū)動的依賴包。
sudo dnf install -y device-mapper-persistent-data lvm2
-
運行以下命令,添加穩(wěn)定的Docker軟件源。
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
運行以下命令,檢查Docker軟件源是否已添加。
sudo dnf list docker-ce
出現(xiàn)如下圖所示回顯,表示Docker軟件源已添加。可以使用阿里云測速工具 aliyunping.com 測試一下本地到阿里云服務器各個地域節(jié)點的Ping值網(wǎng)絡延遲。
-
運行以下命令安裝Docker。
sudo dnf install -y docker-ce --nobest
?
-
執(zhí)行以下命令,檢查Docker是否安裝成功。
sudo docker -v
如下圖回顯信息所示,表示Docker已安裝成功。
-
執(zhí)行以下命令,啟動Docker服務,并設置開機自啟動。
sudo systemctl start docker sudo systemctl enable docker
-
執(zhí)行以下命令,查看Docker是否啟動。
sudo systemctl status docker
如下圖回顯所示,表示Docker已啟動。
Docker基本用法
下文只列出Docker基本用法
-
管理Docker守護進程
sudo systemctl start docker #運行Docker守護進程 sudo systemctl stop docker #停止Docker守護進程 sudo systemctl restart docker #重啟Docker守護進程 sudo systemctl enable docker #設置Docker開機自啟動 sudo systemctl status docker #查看Docker的運行狀態(tài)
-
管理鏡像
本文以阿里云倉庫的Apache鏡像為例,介紹如何使用Docker管理鏡像。
-
拉取鏡像。
sudo docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
-
修改標簽。如果鏡像名稱較長,您可以修改鏡像標簽以便記憶區(qū)分。
sudo docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
-
查看已有鏡像。
sudo docker images
-
強制刪除鏡像。
sudo docker rmi -f registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
-
-
管理容器
下文的<鏡像ID>可通過
docker images
命令查詢。-
啟動一個新容器。
sudo docker run -it <鏡像ID> /bin/bash
-
啟動一個新的容器,讓容器在后臺運行,并且指定容器的名稱。
sudo docker run -d --name <容器名> <鏡像ID>
-
查看容器ID。
sudo docker ps
-
將容器做成鏡像。
sudo docker commit <容器ID或容器名> <倉庫名>:<標簽>
-
?
使用Docker制作鏡像
本步驟指導如何通過Dockerfile定制制作一個簡單的Nginx鏡像。
-
執(zhí)行以下命令,拉取鏡像。本示例以拉取阿里云倉庫的Apache鏡像為例。
sudo docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
-
修改鏡像名稱標簽,便于記憶。
sudo docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
-
執(zhí)行以下命令,新建并編輯Dockerfile文件。
-
執(zhí)行以下命令,新建并編輯Dockerfile文件。
vim Dockerfile
-
按
i
進入編輯模式,并添加以下內(nèi)容,改造原鏡像。#聲明基礎鏡像來源。 FROM aliweb:v1 #聲明鏡像擁有者。 MAINTAINER DTSTACK #RUN后面接容器運行前需要執(zhí)行的命令,由于Dockerfile文件不能超過127行,因此當命令較多時建議寫到腳本中執(zhí)行。 RUN mkdir /dtstact #開機啟動命令,此處最后一個命令需要是可在前臺持續(xù)執(zhí)行的命令,否則容器后臺運行時會因為命令執(zhí)行完而退出。 ENTRYPOINT ping www.aliyun.com
-
按
Esc
鍵,輸入:wq
并按Enter
鍵,保存并退出Dockerfile文件。
-
-
執(zhí)行以下命令,基于基礎鏡像nginx構(gòu)建新鏡像。
命令格式為
docker build -t <鏡像名稱>:<鏡像版本> .
,命令末尾的.
表示Dockerfile文件的路徑,不能忽略。以構(gòu)建新鏡像aliweb:v2為例,則命令為:sudo docker build -t aliweb:v2 .
-
執(zhí)行以下命令,查看新鏡像是否構(gòu)建成功。
sudo docker images
如下圖回顯所示,表示構(gòu)建成功。
安裝并使用docker-compose
docker-compose是Docker官方提供的用于定義和運行多個Docker容器的開源容器編排工具,可以使用YAML文件來配置應用程序需要的所有服務,然后使用docker-compose運行命令解析YAML文件配置,創(chuàng)建并啟動配置文件中的所有Docker服務,具有運維成本低、部署效率高等優(yōu)勢。
重要?
僅Python 3及以上版本支持docker-compose,并請確保已安裝pip。
安裝docker-compose
-
運行以下命令,安裝setuptools。
pip3 install -U pip setuptools
-
運行以下命令,安裝docker-compose。
pip3 install docker-compose
-
運行以下命令,驗證docker-compose是否安裝成功。
docker-compose --version
如果回顯返回docker-compose版本信息,表示docker-compose已安裝成功。
?
使用docker-compose部署應用
下文以部署WordPress為例,介紹如何使用docker-compose部署應用。
-
創(chuàng)建并編輯docker-compose.yaml文件。
-
運行以下命令,創(chuàng)建docker-compose.yaml文件。
vim docker-compose.yaml
-
按下
i
鍵,進入編輯模式,新增以下內(nèi)容。本示例以安裝WordPress為例。
version: '3.1' # 版本信息 services: wordpress: # 服務名稱 image: wordpress # 鏡像名稱 restart: always # docker啟動,當前容器必啟動 ports: - 80:80 # 映射端口 environment: # 編寫環(huán)境 WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: 123456 WORDPRESS_DB_NAME: wordpress volumes: # 映射數(shù)據(jù)卷 - wordpress:/var/www/html db: # 服務名稱 image: mysql:5.7 # 鏡像名稱 restart: always # docker啟動,當前容器必啟動 ports: - 3306:3306 # 映射端口 environment: # 環(huán)境變量 MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: 123456 MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: # 卷掛載路徑 - db:/var/lib/mysql volumes: wordpress: db:
-
按下
Esc
鍵,退出編輯模式,然后輸入:wq
保存并退出。
-
-
執(zhí)行以下命令,啟動應用.
sudo env "PATH=$PATH" docker-compose up -d
-
在瀏覽器中輸入
https://云服務器ECS實例的公網(wǎng)IP
,即可進入WordPress配置頁面,您可以根據(jù)界面提示配置相關(guān)參數(shù)后,訪問WordPress。文章來源:http://www.zghlxwxcb.cn/news/detail-698686.html
?本文轉(zhuǎn)自阿里云官方文檔。文章來源地址http://www.zghlxwxcb.cn/news/detail-698686.html
到了這里,關(guān)于阿里云服務器安裝部署Docker使用教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!