本文主要使用阿里云提供的Docker应用镜像在轻量应用服务器上快速部署Docker环境,并使用Docker启动Nginx容器。
如果您已创建轻量应用服务器,可以通过以下方式部署Docker:
通过手动的方式部署Docker。具体操作,请参见手动部署Docker。
通过重置系统时选择Docker应用镜像部署Docker,但重置系统会清除轻量应用服务器上的磁盘数据,请您根据需要做好数据备份。具体操作,请参见重置系统。
关于Docker的更多信息,请参见Docker概述。
部署Docker
登录轻量应用服务器管理控制台。
在左侧导航栏,单击服务器。
在服务器页面的左上角,单击创建服务器。
在售卖页,完成服务器的配置信息。
具体配置项说明如下表所示。
配置项
说明
示例
实例类型
选择服务器实例。
服务器实例
地域
请根据您业务所在的地理位置选择地域。服务器创建后无法直接更换地域,请谨慎选择。
重要当您在中国内地访问中国香港、新加坡等地域的服务器时,会有较大的网络延迟。因此建议选择和您目标用户所在地域最为接近的地域,可以进一步提升用户访问速度。更多信息,请参见地域与网络连通性。
华东1(杭州)
镜像
在应用镜像页签下,选择Docker镜像。
类型:应用镜像
应用:选择Docker 26.1.3
套餐配置
您可以根据业务需求选择适配的套餐,超出套餐外的公网出流量会产生额外费用。关于计费的更多信息,请参见计费概述。
60元/月的套餐
数据盘(可选)
如果您的业务需要挂载数据盘,可以根据业务需求选择数据盘的容量。
重要如果挂载了数据盘,创建轻量应用服务器后,您必须创建分区和文件系统才能使数据盘变为可用。
0GB
购买时长
选择购买轻量应用服务器的时长。您可以选择是否开启到期自动续费功能。
1个月
购买数量
购买轻量应用服务器的数量。默认创建1台,最多可创建20台轻量应用服务器。
1
单击立即购买。
请您根据页面提示完成服务器的购买。当轻量应用服务器状态从准备中变更为运行中后,表示Docker已部署完成。
(条件必选)如果您在创建轻量应用服务器时挂载了数据盘,则必须创建分区和文件系统才能使数据盘变为可用。具体操作,请参见分区格式化数据盘。
使用Docker
登录轻量应用服务器管理控制台。
在左侧导航栏,单击服务器。
在服务器页面,找到通过Docker镜像创建的轻量应用服务器,然后单击实例ID。
单击应用详情页签,查看Docker使用步骤、Docker信息、应用程序安装信息。
在Docker使用步骤区域,单击远程登录服务器。
在弹出的远程连接对话框中,单击立即登录。
在服务器内,使用Docker。
本文以拉取并运行Nginx容器为示例。
(条件可选)配置Docker镜像加速器。
说明配置阿里云Docker镜像加速器,可以有效提升镜像下载速度。如果您使用阿里云应用镜像Docker 26.1.3部署Docker,默认已配置Docker镜像加速器,请跳过此步骤。
执行以下命令,查看Docker是否配置镜像加速器。
cat /etc/docker/daemon.json
如果回显信息类似如下所示,表示已配置镜像加速器。请
依次执行以下命令,配置镜像加速器。
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://mirrors-ssl.aliyuncs.com/"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
运行以下命令,拉取Nginx镜像。
sudo docker pull nginx
运行以下命令,查看已有的本地镜像。
sudo docker images
如下图所示,表示已拉取Nginx镜像到本地。
运行以下命令,创建并后台运行Nginx容器,同时设置Nginx容器直接使用服务器的
80
端口。sudo docker run --name 容器别名 --network host -d 镜像名称(REPOSITORY)
本示例中,镜像名称为
nginx
,容器别名示例为nginx-test01
,示例命令如下所示。sudo docker run --name nginx-test01 --network host -d nginx
说明实际的镜像名称以您运行
docker images
命令后的查询结果为准。运行以下命令,查看容器列表。
sudo docker ps
查询结果如下所示:
在本地主机的浏览器中,访问
轻量应用服务器公网IP
。
常见问题
问题描述
启动Docker时默认会创建一个docker0网桥,如果docker0网桥的网段与内网eth0网段冲突,可能导致Nginx无法访问。
解决方案
运行以下命令,查看docker0和eth0网段是否冲突。
route -n
如果回显信息如下图所示,表示docker0和eth0网段冲突。
运行以下命令,停止docker。
sudo systemctl stop docker
运行以下命令,修改
/etc/docker/daemon.json
文件。sudo vim /etc/docker/daemon.json
按
i
键进入编辑模式,在文件中添加以下网段信息。{ "bip":"100.10.XX.XX/24" }
说明100.10.XX.XX为示例网段信息,添加的网段信息和eth0网段信息不一致即可。
按
Esc
键,输入:wq
,退出编辑模式并保存文件。运行以下命令,重新加载配置文件。
sudo systemctl daemon-reload
运行以下命令,启动docker。
sudo systemctl start docker
运行以下命令,检查修改是否生效。
route
如果回显信息如下图所示,表示网段信息已修改成功,重新访问Nginx即可。