如何在云服务上通过docker部署服务?

news2024/11/16 23:41:36

如何在云服务上通过docker部署服务?

  • 一、在云服务器上安装Docker
    • 1、查看云服务器的OS信息
    • 2、[安装Docker并使用(Linux)](https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances)
  • 二、通过docker部署服务
    • 1、将本地的Docker镜像推送到Docker的仓库
      • 1.1 [创建Docker仓库](https://hub.docker.com/repository/create)
      • 1.2 登录本地的docker desktop,并推送镜像到远程
    • 2、在云服务器的终端执行docker run
      • 2.1 如何在macOS上生成linux/x86_64的镜像?
      • 2.2 在云服务的终端重新执行docker run
      • 2.3 在云服务上开放8080端口
      • 2.4 在本机的浏览器中验证

前提:如何购买并使用阿里云的云服务器?

一、在云服务器上安装Docker

1、查看云服务器的OS信息

买云服务器的时候,咱选择过OS,但咱还是通过命令行的方式再查看下。

  • cat /etc/os-release
    在这里插入图片描述

2、安装Docker并使用(Linux)

  • (1)运行以下命令,添加docker-ce的dnf源:
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • (2)运行以下命令,安装Alibaba Cloud Linux 3专用的dnf源兼容插件。
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
  • (3)运行以下命令,安装Docker。
sudo dnf -y install docker-ce --nobest
  • (4)sudo docker -v
    在这里插入图片描述
  • (5)执行以下命令,启动Docker服务,并设置开机自启动。
sudo systemctl start docker
sudo systemctl enable docker
  • (6)执行以下命令,查看Docker是否启动。
sudo systemctl status docker

在这里插入图片描述

二、通过docker部署服务

1、将本地的Docker镜像推送到Docker的仓库

1.1 创建Docker仓库

在这里插入图片描述

(1)即使有魔法,也可能因为网络原因导致无法创建…过一段时间,又自然好了~
(2)注意:由于Namespace为forrest0721,因此,docker build时,也要写成forrest0721/chatgpt-api
(3)用Public,而不是Private

1.2 登录本地的docker desktop,并推送镜像到远程

  • 如果登录不上,看:解决docker desktop 登录不上账号的问题
  • 登录后,推送镜像:
    在这里插入图片描述
  • 推送成功:
    在这里插入图片描述

2、在云服务器的终端执行docker run

  • 命令:
docker run -p 8080:8080 \
--name chatgpt-api \
-d forrest0721/chatgpt-api

报错:docker: no matching manifest for linux/amd64 in the manifest list entries.

  • 原因:
    • macOS(m2 pro芯片)生成的镜像的OS/ARCH为:linux/arm64
    • 而我云服务器的OS/ARCH为:linux/x86_64

在这里插入图片描述

2.1 如何在macOS上生成linux/x86_64的镜像?

Docker引入了一个名为buildx的实验性功能,它支持跨平台构建,这意味着可以在一个平台(例如macOS)上为另一个平台(例如linux/x86_64)构建Docker镜像。

  • 我macOS上的docker版本:Docker version 24.0.7

比较老的docker版本估计用不了buildx

  • 步骤:

(1)创建一个新的构建器实例

docker buildx create --use

在这里插入图片描述
(2)使构建器实例进入准备就绪状态

docker buildx inspect --bootstrap

在这里插入图片描述
(3)构建适用于linux/x86_64平台的Docker镜像

docker buildx build --platform linux/x86_64 -t forrest0721/chatgpt-api . --push

虽然显示的还是linux/arm64,但能在云服务上run起来了。
在这里插入图片描述

2.2 在云服务的终端重新执行docker run

docker run -p 8080:8080 \
--name chatgpt-api \
-d forrest0721/chatgpt-api

2.3 在云服务上开放8080端口

  • 实例-加入安全组:
    在这里插入图片描述
  • 安全组-管理规则:
    在这里插入图片描述
    在这里插入图片描述

2.4 在本机的浏览器中验证

  • 输入:公网ip:8080/verify?token=xxx
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1411177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互斥锁/读写锁(Linux)

一、互斥锁 临界资源概念: 不能同时访问的资源,比如写文件,只能由一个线程写,同时写会写乱。 比如外设打印机,打印的时候只能由一个程序使用。 外设基本上都是不能共享的资源。 生活中比如卫生间,同一…

视频尺寸魔方:分层遮掩3D扩散模型在视频尺寸延展的应用

▐ 摘要 视频延展(Video Outpainting)是对视频的边界进行扩展的任务。与图像延展不同,视频延展需要考虑到填充区域的时序一致性,这使得问题更具挑战性。在本文中,我们介绍了一个新颖的基于扩散模型的视频尺寸延展方法——分层遮掩3D扩散模型(…

Apollo Cyber RT:引领实时操作系统在自动驾驶领域的创新

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

Linux的常见指令和基本操作演绎【复习篇章一】

文章目录 前言下载安装 XShellXShell 下的复制粘贴热键操作01.ls指令tree 02.cd指令03.touch指令04.mkdir指令(重要):05.rmdir指令 && rm 指令(重要)06.组合07.man指令(重要)&#xff1…

【lodash.js】非常好用高性能的 JavaScript 实用工具库,防抖,深克隆,排序等

前言:lodash是一款前端必须要知道的js库,它里面提供了许多常用的功能和实用的工具函数 基本上我参与的项目中都有lodash,只能说lodash太强大了,lodash.js 提供了超过 300 个实用的工具函数,涵盖了很多常见的编程任务 l…

群辉NAS的远程访问

群辉NAS是私有云存储,局域网访问很容易【详见:网上邻居访问设置、其它设备的访问设置】,远程访问相对复杂,涉及很多关键因素,现将过程记录如下: 目录 1、互联网接入 2、绑定MAC与IP地址 3、路由器开启5…

HTML5与App封装技术将网站一键打包成App

HTML5:跨平台的利器HTML5作为一种先进的网页标记语言,其最大的优势在于跨平台性。开发者仅需编写一次代码,即可在各种操作系统和设备上运行,无需为每个平台单独开发App。这种“编写一次,运行处处”的模式,大…

选择海外云手机需要考虑什么?

随着跨境电商行业的蓬勃发展,企业们纷纷寻找提升平台流量和广告投放效果的方法,这已成为业界的当务之急。传统的宣传模式在国内受到直播和链接带货等新兴方式的冲击,而在国外,类似的趋势也在悄然兴起,呈现出广阔的发展…

OOM 内存溢出与线上内存实时监控

单应用可用的最大内存 dalvik.vm.heapstartsize,它表示堆分配的初始大小。 APP启动的初始分配内存 dalvik.vm.heapgrowthlimit,它表示单个进程内存限定值。App最大内存限制 dalvik.vm.heapsize,单个进程可用的最大内存。开启largeHeap"t…

力扣646. 最长数对链

动态规划 思路: 思路与 力扣354. 俄罗斯套娃信封问题 类似将序列进行排序,然后假设 dp[i] 为第 i 个元素的最长数对链个数;则其状态转移方程: 第 i 个元素之前的某一个元素(假设是下标是 j),如…

VS2022联合Qt5开发学习11(QT5.12.3联合VTK在VS2022上开发医学图像项目5——qvtkWidget上显示STL三维图像并取点)

这篇博文是接着这个系列前面的博文,来讲如何实现医学图像三视图同步视图。我想到的一个思路是用Scrollbar来控制切面的改变,还有一个想法是在三维图像上取点,然后以这个点为切面中心更新三维视图。这篇博文主要介绍的就是第二个想法的三维图像…

软件功能测试如何确定测试需求?CMA、CNAS软件测试报告获取

软件功能测试是为了验证软件的功能是否按照设计要求正常工作的过程,可以确保软件的质量,提高用户体验,也是保证软件安全和可靠性的重要一环。我们需要从多个角度对软件的各个功能模块进行测试,确保每个功能都能正常运行&#xff0…

蓝桥杯备战——5.动态数码管扫描

1.分析原理图 经查阅说明书得知数码管为共阳极,共阳端口接到了U8,而段码接到了U7。 如果需要选中U8,我们只需要将P250;P261;P271; 如果需要选中U7,我们只需要将P251;P261;P271; 2.代码示例 void Delay1ms() //12.000MHz {unsigned char data i, j;i 12;j 169;…

Elasticsearch内核解析 - 数据模型篇

Elasticsearch内核解析 - 数据模型篇 - 知乎 Elasticsearch是一个实时的分布式搜索和分析引擎,它可以帮助我们用很快的速度去处理大规模数据,可以用于全文检索、结构化检索、推荐、分析以及统计聚合等多种场景。 Elasticsearch是一个建立在全文搜索引擎…

【运维】Ubuntu18.04系统docker方式安装ElasticSearch和kibana

前言 最近需要搭建一套测试环境,用到了ElasticSearch( 简称es)搜索引擎,安装过程有些曲折,记录下来作为经验。 正文 环境 Ubuntu18.04 操作系统Docker Server Version: 20.10.7ElasticSearch Version: 8.5.3Kibana Version: 8.5.3 说明 E…

【C++】STL和vector容器

STL和vector容器 基本概念六大组件容器算法迭代器容器算法迭代器 vector容器基本概念vector构造函数赋值vector的容量和大小vector插入与删除vector存取数据函数原型 vector互换容器vector预留空间vector容器嵌套容器 基本概念 长久以来,软件届一直希望建立一种可重…

腾讯云轻量应用Windows服务器如何搭建幻兽帕鲁Palworld私服?

幻兽帕鲁/Palworld是一款2024年Pocketpair开发的开放世界生存制作游戏,在帕鲁的世界,玩家可以选择与神奇的生物“帕鲁”一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。而帕鲁可以进行战斗、繁殖、协助玩家做农活,也…

跨平台同步 Shell 历史记录,无缝切换会话 | 开源日报 No.154

atuinsh/atuin Stars: 14.3k License: MIT Atuin 是一个用 SQLite 数据库替换现有 shell 历史记录的工具,可以记录命令的额外上下文,并提供可选且完全加密的历史同步功能。其主要功能和核心优势包括: 重新绑定 ctrl-r 和 up (可配置) 到全屏…

weak_ptr 与 一个难发现的错误(循环依赖问题)笔记

推荐B站视频:7.weak_ptr与一个非常难发现的错误_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL/?p7&spm_id_frompageDriver&vd_sourcea934d7fc6f47698a29dac90a922ba5a3一、weak_ptr weak_ptr并不拥有所有权并不能调用 -> 和 解引…

动态规划之买卖股票问题(篇一)(买卖股票的最佳时机)

本篇博客和接下来的几篇博客主要讲解一下动态规划中的股票问题系列,本篇博客主要讲解121. 买卖股票的最佳时机和122.买卖股票的最佳时机II。 121. 买卖股票的最佳时机 题目: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定…