thinkphp网站建设课程,单个药品营销策划方案,个人wordpress 手机,网站开发 费用本文阿里云百科分享如何在云服务ECS实例上#xff0c;部署并使用Docker。Docker是一款开源的应用容器引擎#xff0c;具有可移植性、可扩展性、高安全性和可管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中#xff0c;快速发布到Linux机器上并实现虚拟化…本文阿里云百科分享如何在云服务ECS实例上部署并使用Docker。Docker是一款开源的应用容器引擎具有可移植性、可扩展性、高安全性和可管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中快速发布到Linux机器上并实现虚拟化实现更高效地构建、部署和管理应用程序。同时阿里云提供了Docker镜像源方便您快速部署Docker。
目录
前提条件
部署Docker
Docker基本用法
使用Docker制作镜像
安装并使用docker-compose
安装docker-compose
使用docker-compose部署应用 前提条件
已创建一台基础ECS实例并满足以下配置。
操作系统CentOS 7.x 64位、CentOS 8.x 64位、Alibaba Cloud Linux 3 64位、Alibaba Cloud Linux 2 64位ECS云服务器aliyunbaike.com/go/ecs网络类型专有网络VPCIP地址公网IP安全组入方向开放80、22、8080端口。具体操作请参见添加安全组规则。 部署Docker
远程连接ECS实例。 关于连接方式的介绍请参见连接方式概述。 安装DockerCentOS 8.x 切换CentOS 8源地址。 CentOS 8操作系统版本结束了生命周期EOL按照社区规则CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。如果您需要使用CentOS 8系统中的一些安装包则需要手动切换源地址。 运行以下命令安装DNF。 sudo yum -y install dnf 运行以下命令安装Docker存储驱动的依赖包。 sudo dnf install -y device-mapper-persistent-data lvm2 运行以下命令添加稳定的Docker软件源。 sudo dnf config-manager --add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 运行以下命令检查Docker软件源是否已添加。 sudo dnf list docker-ce 出现如下图所示回显表示Docker软件源已添加。可以使用阿里云测速工具 aliyunping.com 测试一下本地到阿里云服务器各个地域节点的Ping值网络延迟。 运行以下命令安装Docker。 sudo dnf install -y docker-ce --nobest 执行以下命令检查Docker是否安装成功。 sudo docker -v 如下图回显信息所示表示Docker已安装成功。 执行以下命令启动Docker服务并设置开机自启动。 sudo systemctl start docker
sudo systemctl enable docker 执行以下命令查看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的运行状态 管理镜像 本文以阿里云仓库的Apache镜像为例介绍如何使用Docker管理镜像。 拉取镜像。 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 查看已有镜像。 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镜像。 执行以下命令拉取镜像。本示例以拉取阿里云仓库的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 执行以下命令新建并编辑Dockerfile文件。 执行以下命令新建并编辑Dockerfile文件。 vim Dockerfile 按i进入编辑模式并添加以下内容改造原镜像。 #声明基础镜像来源。
FROM aliweb:v1
#声明镜像拥有者。
MAINTAINER DTSTACK
#RUN后面接容器运行前需要执行的命令由于Dockerfile文件不能超过127行因此当命令较多时建议写到脚本中执行。
RUN mkdir /dtstact
#开机启动命令此处最后一个命令需要是可在前台持续执行的命令否则容器后台运行时会因为命令执行完而退出。
ENTRYPOINT ping www.aliyun.com 按Esc键输入:wq并按Enter键保存并退出Dockerfile文件。 执行以下命令基于基础镜像nginx构建新镜像。 命令格式为docker build -t 镜像名称:镜像版本 .命令末尾的.表示Dockerfile文件的路径不能忽略。以构建新镜像aliweb:v2为例则命令为 sudo docker build -t aliweb:v2 . 执行以下命令查看新镜像是否构建成功。 sudo docker images 如下图回显所示表示构建成功。
安装并使用docker-compose
docker-compose是Docker官方提供的用于定义和运行多个Docker容器的开源容器编排工具可以使用YAML文件来配置应用程序需要的所有服务然后使用docker-compose运行命令解析YAML文件配置创建并启动配置文件中的所有Docker服务具有运维成本低、部署效率高等优势。
重要
仅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部署应用。 创建并编辑docker-compose.yaml文件。 运行以下命令创建docker-compose.yaml文件。 vim docker-compose.yaml 按下i键进入编辑模式新增以下内容。 本示例以安装WordPress为例。 version: 3.1 # 版本信息services:wordpress: # 服务名称 image: wordpress # 镜像名称restart: always # docker启动当前容器必启动ports:- 80:80 # 映射端口environment: # 编写环境WORDPRESS_DB_HOST: dbWORDPRESS_DB_USER: wordpressWORDPRESS_DB_PASSWORD: 123456WORDPRESS_DB_NAME: wordpressvolumes: # 映射数据卷- wordpress:/var/www/htmldb: # 服务名称 image: mysql:5.7 # 镜像名称restart: always # docker启动当前容器必启动ports:- 3306:3306 # 映射端口environment: # 环境变量MYSQL_DATABASE: wordpressMYSQL_USER: wordpressMYSQL_PASSWORD: 123456MYSQL_RANDOM_ROOT_PASSWORD: 1volumes: # 卷挂载路径- db:/var/lib/mysqlvolumes:wordpress:db: 按下Esc键退出编辑模式然后输入:wq保存并退出。 执行以下命令启动应用. sudo env PATH$PATH docker-compose up -d 在浏览器中输入https://云服务器ECS实例的公网IP即可进入WordPress配置页面您可以根据界面提示配置相关参数后访问WordPress。 本文转自阿里云官方文档。