部署并使用Docker
savingplan
一键配置
21
教程简介
在本教程中,您将学习如何在阿里云云服务器ECS上基于Alibaba Cloud Linux 3操作系统部署Docker,并制作Docker镜像。
Docker是一款开源的应用容器引擎,具有可移植性、可扩展性、安全性和管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中,快速发布到Linux机器上并实现虚拟化,实现更高效地构建、部署和管理应用程序。
我能学到什么
学会在ECS实例中部署Docker。
学会如何制作Docker镜像。
操作难度 | 中 |
所需时间 | 21分钟 |
使用的阿里云产品 | |
所需费用 | 0元 |
准备环境及资源
10
开始教程前,请按以下步骤准备环境和资源:
访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。
成功登录后,可试用人群选择个人认证,产品类别选择
,在试用卡片上单击立即试用。在配置ECS实例信息面板,完成参数信息配置。本试用教程主要配置参数如表所示,其他参数可保持默认值。实际操作时,建议根据您的实际业务体量和需求选择。
参数
示例
操作系统
Alibaba Cloud Linux 3 LTS 64位。
本教程以Alibaba Cloud Linux 3 LTS 64位操作系统为例,如果您购买的ECS服务器使用了其他版本的操作系统,操作可能和本教程略有差异。
预装应用
本教程无需选择。
本教程以手动搭建Docker为例,故无需选择预装应用。
产品所在地域
根据需求选择,例如华北2(北京)。
到期释放设置
建议您选择现在设置,避免到期未释放产生扣费。
网络
本教程无需选择。
通过本教程创建的ECS实例默认开通公网带宽。
同意协议后,单击立即试用,并根据页面提示完成试用申请。
创建实例一般需要3~5分钟,请您耐心等待。当实例状态变为运行中时,表示实例创建完成。
部署Docker
5
准备好资源后,您可以通过一键配置快速完成资源配置或应用搭建。一键配置基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,旨在帮助开发者通过IaC(Infrastructure as Code)的方式体验资源的自动化配置。如需查看软件版本、安装命令等配置的具体信息,可查看教程的手动配置版。模板完成的内容包括:
为ECS实例创建安全组
部署Docker
使用Docker制作镜像
操作步骤
打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板,并在模板内容区域展示YAML文件的详细信息。
ROS控制台默认处于您上一次访问控制台时的地域,请根据您创建的资源所在地域修改地域。
在配置模板参数页面修改资源栈名称,选择您申请免费试用时创建的ECS实例。填写完所有必选信息并确认后单击创建开始一键配置。
重要安装Docker、使用Docker制作镜像需要通过互联网下载应用,配置时间可能由于网络稳定性等原因而不同。若您选择非本教程创建的已有ECS实例,请确保该ECS实例具有公网访问能力。
等待期间,您可以通过刷新资源栈信息页面来查看配置是否完成或通过单击事件页签查看配置详细进展。
当资源栈信息页面的状态显示为创建成功时,表示一键配置完成。
完成
1
单击ROS控制台输出页签中的DockerUrl
(http://<ECS实例公网IP地址>:8080
),如果出现如图所示内容,说明容器运行成功且镜像制作成功(ECS实例的公网IP地址可以从实例页面获取)。
清理及后续
5
清理
ECS提供的个人版试用实例为按量付费实例。完成教程后,请参考以下规则处理实例:
如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列单击,搜索并单击释放设置,根据界面提示释放实例。
如果需要继续使用实例,请至少在试用到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。
后续
在Docker中构建、部署和管理应用程序。更多信息,请参见Docker官网。
停止容器。命令如下:
docker ps #查看运行容器的容器ID(CONTAINER ID) docker stop [容器ID]
总结
常用知识点
问题1:本教程在使用Docker中,将宿主机的8080端口映射到容器中的哪个端口?(单选题)
3306
22
80
正确答案是80。
问题2:部署docker后,执行哪个命令可以设置Docker开机自启动?(单选题)
systemctl start docker
systemctl enable docker
systemctl restart docker
正确答案是systemctl enable docker。
延伸阅读
手动配置
30
教程简介
在本教程中,您将学习如何在阿里云云服务器ECS上基于Alibaba Cloud Linux 3操作系统部署Docker,并制作Docker镜像。
Docker是一款开源的应用容器引擎,具有可移植性、可扩展性、安全性和管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中,快速发布到Linux机器上并实现虚拟化,实现更高效地构建、部署和管理应用程序。
我能学到什么
学会在ECS实例中部署Docker。
学会如何制作Docker镜像。
操作难度 | 中 |
所需时间 | 30分钟 |
使用的阿里云产品 | |
所需费用 | 0元 |
准备环境及资源
10
开始教程前,请按以下步骤准备环境和资源:
访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。
成功登录后,可试用人群选择个人认证,产品类别选择
,在试用卡片上单击立即试用。在配置ECS实例信息面板,完成参数信息配置。本试用教程主要配置参数如表所示,其他参数可保持默认值。实际操作时,建议根据您的实际业务体量和需求选择。
参数
示例
操作系统
Alibaba Cloud Linux 3 LTS 64位。
本教程以Alibaba Cloud Linux 3 LTS 64位操作系统为例,如果您购买的ECS服务器使用了其他版本的操作系统,操作可能和本教程略有差异。
预装应用
本教程无需选择。
本教程以手动搭建Docker为例,故无需选择预装应用。
产品所在地域
根据需求选择,例如华北2(北京)。
到期释放设置
建议您选择现在设置,避免到期未释放产生扣费。
同意协议后,单击立即试用,并根据页面提示完成试用申请。
创建实例一般需要3~5分钟,请您耐心等待。当实例状态变为运行中时,表示实例创建完成。
登录云服务器
4
开通免费试用ECS服务器后,系统会创建一个ECS实例(对应一台云服务器),使用ECS实例部署应用或搭建环境前,需设置实例密码后才能登录实例。
登录ECS控制台,在左侧导航栏,选择实例与镜像 > 实例。
在顶部菜单栏左上角处,选择和试用实例相同的地域(本文示例华北2(北京))。
设置该实例登录密码。在操作列单击 > 实例属性 > 重置实例密码,按照界面提示设置ECS实例的登录密码。
实例创建完成大约3~5分钟后,才支持重置实例密码,如不可重置请耐心等待后重试。
单击试用实例的ID,选择安全组页签,单击安全组操作列的配置规则,在入方向添加需要放行的端口。本教程中,在安全组入方向放行SSH默认22端口、Nginx默认80端口和容器映射的8080端口。
远程连接ECS实例。
a. 返回实例页面,单击该实例对应操作列下的远程连接。
b. 在弹出的连接与命令对话框中,单击通过Workbench远程连接对应的立即登录。
c. 在弹出的登录实例对话框中,输入登录信息。
部署Docker
本教程以部署社区版Docker(docker-ce)为例。
5
执行以下命令,下载docker-ce的yum源。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
执行以下命令,安装docker-ce。
sudo yum -y install docker-ce
执行以下命令,确认Docker是否部署成功。
如果回显信息类似如图所示,表示Docker已部署成功。
docker -v
执行以下命令,启动Docker服务。
sudo systemctl start docker
执行以下命令,设置Docker开机自启动。
sudo systemctl enable docker
执行以下命令,查看Docker服务的运行状态。
如果回显信息显示
Active:active(running)
时,表示Docker已启动。systemctl status docker
使用Docker制作镜像
本步骤指导您如何制作Docker镜像。
5
执行以下命令,拉取Nginx镜像。
本示例以拉取Nginx 1.23.4为例。
sudo docker pull nginx:1.23.4
执行以下命令,新建并编辑Dockerfile文件。
执行以下命令,新建并编辑Dockerfile文件。
vim Dockerfile
按
i
进入编辑模式,并添加以下内容,改造原镜像。#声明基础镜像来源,本示例中基础镜像为拉取的nginx:1.23.4镜像 FROM nginx:1.23.4 #RUN后面接容器运行前需要执行的命令,本示例将Nginx的首页内容改为Welcome, Docker! RUN echo '<h1>Welcome, Docker!</h1>' > /usr/share/nginx/html/index.html
按
Esc
键,输入:wq
并按Enter
键,保存并退出Dockerfile文件。
执行以下命令,基于基础镜像nginx构建新镜像。
命令格式为
docker build -t [镜像名称]:[镜像版本] .
,命令末尾的.
表示Dockerfile文件的路径,不能忽略。以基于构建新镜像image001:v1为例,则命令为:sudo docker build -t image001:v1 .
执行以下命令,查看新镜像是否构建成功。
如下图回显所示,表示构建成功。
sudo docker images
执行以下命令,将Nginx的80端口映射至服务器的8080端口,以启动镜像并实现通过公网访问。
命令格式为
docker run --name [容器名称] -p 8080:80 -d [镜像名称]:[镜像版本]
,示例命令:sudo docker run --name nginx-test -p 8080:80 -d image001:v1
完成
1
部署和使用Docker制作镜像后,在浏览器中输入http://<ECS实例公网IP地址>:8080
并访问,如果出现如图所示内容,说明容器运行成功且镜像制作成功(ECS实例的公网IP地址可以从实例页面获取)。
清理及后续
5
清理
ECS提供的个人版试用实例为按量付费实例。完成教程后,请参考以下规则处理实例:
如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列单击,搜索并单击释放设置,根据界面提示释放实例。
如果需要继续使用实例,请至少在试用到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。
后续
在Docker中构建、部署和管理应用程序。更多信息,请参见Docker官网。
停止容器。命令如下:
docker ps #查看运行容器的容器ID(CONTAINER ID) docker stop [容器ID]
总结
常用知识点
问题1:本教程在使用Docker中,将宿主机的8080端口映射到容器中的哪个端口?(单选题)
3306
22
80
正确答案是80。
问题2:部署docker后,执行哪个命令可以设置Docker开机自启动?(单选题)
systemctl start docker
systemctl enable docker
systemctl restart docker
正确答案是systemctl enable docker。