文档

使用应用镜像快速部署Docker

更新时间:

本文主要使用阿里云提供的Docker应用镜像在轻量应用服务器上快速部署Docker,并使用Docker部署Nginx Web服务器。

说明
  • 如果您已创建轻量应用服务器,可以通过以下方式部署Docker:

    • 通过手动的方式部署Docker。具体操作,请参见手动部署Docker

    • 通过重置系统时选择Docker应用镜像部署Docker,但重置系统会清除轻量应用服务器上的磁盘数据,请您根据需要做好数据备份。具体操作,请参见重置系统

  • 关于Docker的更多信息,请参见Docker概述

部署Docker

  1. 登录轻量应用服务器管理控制台

  2. 在左侧导航栏,单击服务器

  3. 服务器页面的左上角,单击创建服务器

  4. 在售卖页,完成服务器的配置信息。

    具体配置项说明如下表所示。

    配置项

    说明

    示例

    实例类型

    选择服务器实例

    服务器实例

    地域

    请根据您业务所在的地理位置选择地域。服务器创建后无法直接更换地域,请谨慎选择。

    重要

    当您在中国内地访问中国香港、新加坡等地域的服务器时,会有较大的网络延迟。因此建议选择和您目标用户所在地域最为接近的地域,可以进一步提升用户访问速度。更多信息,请参见地域与网络连通性

    华东1(杭州)

    镜像

    应用镜像页签下,选择Docker和版本。

    • 类型:应用镜像

    • 应用:选择Docker 19.03

    套餐配置

    您可以根据业务需求选择适配的套餐,超出套餐外的公网出流量会产生额外费用。关于计费的更多信息,请参见计费概述

    60元/月的套餐

    数据盘(可选)

    如果您的业务需要挂载数据盘,可以根据业务需求选择数据盘的容量。

    重要

    如果挂载了数据盘,创建轻量应用服务器后,您必须创建分区和文件系统才能使数据盘变为可用。

    0GB

    购买时长

    选择购买轻量应用服务器的时长。您可以选择是否开启到期自动续费功能。

    1个月

    购买数量

    购买轻量应用服务器的数量。默认创建1台,最多可创建20台轻量应用服务器。

    1

  5. 单击立即购买

    请您根据页面提示完成服务器的购买。当轻量应用服务器状态从准备中变更为运行中后,表示Docker已部署完成。

    image

  6. (条件必选)如果您在创建轻量应用服务器时挂载了数据盘,则必须创建分区和文件系统才能使数据盘变为可用。具体操作,请参见分区格式化数据盘

使用Docker

  1. 登录轻量应用服务器管理控制台

  2. 在左侧导航栏,单击服务器

  3. 服务器页面,找到通过Docker镜像创建的轻量应用服务器,然后单击实例ID。

  4. 单击应用详情页签,查看Docker使用步骤、Docker信息、应用程序安装信息。

    image

  5. Docker使用步骤区域,单击远程登录服务器

  6. 在弹出的远程连接对话框中,单击立即登录

  7. 在服务器内,使用Docker。

    本文以拉取并运行Nginx镜像为示例。

    1. 依次运行以下命令,配置镜像加速器。

      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<-'EOF'
      {
        "registry-mirrors": ["https://docker.m.daocloud.io"]
      }
      EOF
      sudo systemctl daemon-reload
      sudo systemctl restart docker
    2. 运行以下命令,拉取Nginx镜像。

      sudo docker pull nginx
    3. 运行以下命令,查看已有的本地镜像。

      sudo docker images

      如下图所示,表示已拉取Nginx镜像到本地。

      image

    4. 运行以下命令,创建并后台运行Nginx容器,同时将Nginx的80端口映射至服务器的8080端口。

      sudo docker run --name 容器别名 -p 8080:80 -d 镜像名称(REPOSITORY)

      本示例中,镜像名称为nginx,容器别名示例为nginx-test,示例命令如下所示。

      sudo docker run --name nginx-test -p 8080:80 -d nginx
      说明

      实际的镜像名称以您运行docker images命令后的查询结果为准。

    5. 运行以下命令,查看容器列表。

      sudo docker ps

      查询结果如下所示:

      image

    6. 在轻量应用服务器的防火墙中放行所需的8080端口。具体操作,请参见防火墙设置

    7. 在本地主机的浏览器中,访问轻量应用服务器公网IP:8080

      如下图所示,表示已成功部署Nginx。如果无法访问Nginx,可能docker网段与内网网段冲突,您需要修改docker默认的网段即可。具体操作,请参见常见问题nginx

常见问题

问题描述

启动Docker时默认会创建一个docker0网桥,如果docker0网桥的网段与内网eth0网段冲突,可能导致Nginx无法访问。

解决方案

  1. 运行以下命令,查看docker0和eth0网段是否冲突。

    route

    如果回显信息如下图所示,表示docker0和eth0网段冲突。

    image

  2. 运行以下命令,停止docker。

    sudo systemctl stop docker
  3. 运行以下命令,修改/etc/docker/daemon.json文件。

    sudo vim /etc/docker/daemon.json

    i键进入编辑模式,在文件中添加以下网段信息。

    {
    "bip":"100.10.XX.XX/24"
    }
    说明

    100.10.XX.XX为示例网段信息,添加的网段信息和eth0网段信息不一致即可。

    Esc键,输入:wq,退出编辑模式并保存文件。

  4. 运行以下命令,重新加载配置文件。

    sudo systemctl daemon-reload
  5. 运行以下命令,启动docker。

    sudo systemctl start docker
  6. 运行以下命令,检查修改是否生效。

    route

    如果回显信息如下图所示,表示网段信息已修改成功,重新访问Nginx即可。

    image