三步在ECS上构建云上相册

简介: 阿里云ECS,体验好极了~


阿里云ECS简介

我相信看到这篇文章的你对服务器已经有一定的了解,在这个数字化时代,云计算之于企业与个人就像汽油之于汽车一样重要,它帮助我们成就价值、保证高可用的服务。正逢上云采购季,作为老用户的我以3.5折入手了阿里云ECS,本文带大家在阿里云ECS上搭建Docker生产环境并配置一个个人相册项目。

 

DockerDocker-compose

      作为云原生的四大要素之一,docker是个好东西,可以极大提升实施效率并保障安全。

      Docker与Docker-compose的区别:

Docker

Docker-compose

开源的应用容器引擎

自动化编排容器工具

基于Dockerfile得到images

基于docker-compose.yml,配置由该文件定义,启动时通常是一个服务

单独的container

通常由多个container共同组成

两者都需要安装,但是要使用docker-compose,必须已经安装docker。由于众所周知的原因,docker官方镜像源访问速度非常不稳定,阿里云考虑到了这一点,在官方提供的镜像里已经将镜像源转换为阿里源,我们无需单独配置,开箱即用。

五分钟快速搭建个人云相册

1)   登录服务器

1.    购买云服务器,上云采购季可以优惠购买。

2.    在购买ECS服务器后,系统会创建一个ECS实例。每一个ECS实例对应一台已购买的云服务器。您可以通过电脑上自带的终端工具访问云服务器,进行应用部署和环境搭建。

3.    ECS控制台页面,选择实例的所属地域,找到示例的详情。

4.    找到目标实例,然后在操作列选择【更多】> 【密码/密钥】 > 【重置实例密码】,然后在弹出的对话框设置ECS实例的登录密码。单击【立即重启】使新密码生效。

5.    ECS实例页面,点击远程连接,您也可以在PC上使用命令行终端工具来进行SSH连接。

6.    SSH终端中输入连接命令ssh root@[ipaddress]ipaddress 替换为您的ECS服务器的公网IP地址。输入 yes,然后输入云服务器的登录密码即可,使用Xshell等工具可以保存用户信息便捷登录。

2)   安装docker.io&docker-compose

a)     Docker的版本。

Docker有三个版本:docker.iodocker-cedocker-ee。分别为debian/ubuntu官方基于docker社区源码封装的版本、社区版、商业版,.io版的依赖与系统的衔接很好,很少出现依赖问题。不推荐使用docker-ce版本,这个版本容易出现容器异常且非常恼人。

b)     Ubuntu系统上安装非常简单: apt-get install docker.io,如果出现错误请执行apt更新。

c)     启动docker服务:service docker start

d)     安装docker-composeapt install docker-compose

e)     image.png

f)      我并没有配置过docker镜像加速服务,但可见拉取包的时候是自动从阿里云镜像仓库提取的,阿里云应该是将配置集成到云市场镜像内了,开箱即用非常好使。

g)     文本框: tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
EOF
如果您发现没有配置阿里云的镜像加速,那么可以这样配置:登录容器镜像服务控制台-单击 [镜像中心] > [镜像加速器]-找到您的镜像地址-在服务器上配置如下命令- 刷新配置systemctl daemon-reload- 重启服务systemctl restart docker

h)     就这样了。

 

3)    基于photoview的个人云相册

a)    文本框: services:
  db:
    image: mariadb:10.5
    restart: always
    environment:
      - MYSQL_DATABASE=photoview
      - MYSQL_USER=photoview
      - MYSQL_PASSWORD=photosecret
      - MYSQL_RANDOM_ROOT_PASSWORD=1
    volumes:
      - db_data:/var/lib/mysql

  photoview:
    image: viktorstrate/photoview:2
    restart: always
    ports:
      - "8000:80"
    depends_on:
      - db

    environment:
      - PHOTOVIEW_DATABASE_DRIVER=mysql
      - PHOTOVIEW_MYSQL_URL=photoview:photosecret@tcp(db)/photoview
      - PHOTOVIEW_LISTEN_IP=photoview
      - PHOTOVIEW_LISTEN_PORT=80
      - PHOTOVIEW_MEDIA_CACHE=/app/cache
      
    volumes:
      - api_cache:/app/cache
      - ./photos_path:/photos:ro

volumes:
  db_data:
  api_cache:
创建yml文件:vim docker-compose.yml

b)    执行docker-compose up -d自动化编排。

c)     项目部署成功,浏览器输入<EIP>:8000即可访问~

4)   创建环境副本(快照)

a)    登录ECS控制台-左侧导航栏-存储与快照-开通快照。

b)    ECS实例列表页,单击目标实例右侧的【管理】按钮,进入实例详情页。

c)     在本实例云盘页面点击【创建快照】,根据提示完成流程。

d)    快照创建完成后单击【创建自定义镜像】,根据提示完成流程。

e)    就这样就创建完成啦。

 

浏览器输入<EIP>:8000即可访问我们刚才构建的云上相册,基于这个项目还可以开发照片AI识别等更多内容

 

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
Java 关系型数据库 API
探索后端技术:构建高效、可靠的服务器端应用
在当今数字化时代,后端技术是任何成功应用程序的基石。它涉及服务器、数据库和应用程序之间的交互,处理数据存储、业务逻辑和系统性能等关键任务。本文将深入探讨后端开发的核心概念、常见技术栈及其实际应用,帮助读者更好地理解和掌握构建高效、可靠后端系统的技巧与策略。
|
监控 中间件 Java
后端技术:构建高效、稳定的服务器端应用
【10月更文挑战第5天】后端技术:构建高效、稳定的服务器端应用
669 0
|
10月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
2339 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
并行计算 前端开发 异构计算
告别服务器繁忙,云上部署DeepSeek
本文以 DeepSeek-R1-Distill-Qwen-32B-FP8 为例,向您介绍如何在GPU实例上使用容器来部署量化的 DeepSeek-R1 蒸馏模型。
|
9月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1569 1
|
监控 关系型数据库 Serverless
探索后端技术:构建高效、可靠的服务器端应用
本文将深入探讨后端开发的核心概念和关键技术,从服务器架构到数据库管理,再到安全防护,为读者提供全面的后端技术指南。无论是初学者还是经验丰富的开发者,都能从中汲取灵感,提升自己的技术水平。
|
9月前
|
人工智能 JavaScript 前端开发
用 Go 语言轻松构建 MCP 服务器
本文介绍了使用 Go 语言构建 MCP 服务器的完整过程,涵盖创建服务器实例、注册工具、资源和提示词,以及通过 stdio 和 sse 模式启动服务的方法,帮助开发者快速集成 LLM 应用与外部系统。
|
11月前
|
监控 Ubuntu 安全
Ubuntu系统下构建FTP服务器的步骤
记住,时不时的巡视(监控)农场,更新工具(软件和安全性更新),以及恰当的维护同样重要,这样你的FTP农场才能长久繁荣。
199 4
|
人工智能 搜索推荐 程序员
用 Go 语言轻松构建 MCP 客户端与服务器
本文介绍了如何使用 mcp-go 构建一个完整的 MCP 应用,包括服务端和客户端两部分。 - 服务端支持注册工具(Tool)、资源(Resource)和提示词(Prompt),并可通过 stdio 或 sse 模式对外提供服务; - 客户端通过 stdio 连接服务器,支持初始化、列出服务内容、调用远程工具等操作。
2856 5