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

如何在云服务上通过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.mzph.cn/news/649404.shtml

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

相关文章

【一次性解决】CUDA和PyTorch的安装与多版本管理的三种方式

很多人配置环境就是直接安装三件套,而对于版本管理不是很清楚。在开发初期,这样做没什么问题。但是如果服务器多人使用,或者复现代码多(pytorch版本和cuda版本是互相依赖的),就需要更进一步的版本管理方法。…

Vue进阶:Vue中的ajax请求

一、Vue中的ajax请求 1.1 解决开发环境 Ajax 跨域问题 总结: 1.1.1 模拟跨域问题 准备好测试的服务器 server1.js const express require(express) const app express()app.use((request,response,next)>{console.log(有人请求服务器1了);// console.log(…

P4769 [NOI2018] 冒泡排序 洛谷黑题题解附源码

[NOI2018] 冒泡排序 题目背景 请注意,题目中存在 n 0 n0 n0 的数据。 题目描述 最近,小 S 对冒泡排序产生了浓厚的兴趣。为了问题简单,小 S 只研究对 1 1 1 到 n n n 的排列的冒泡排序。 下面是对冒泡排序的算法描述。 输入&#x…

韦东山嵌入式Liunx入门笔记一

文章目录 一、嵌入式Linux二、Ubuntu系统2-1 安装软件2-2 Linux文件(1) 文件架构(2)文件属性(3)文件命令(4) 解压、压缩文件(5) 网络命令 2-3 vi编辑器2-4 Ubuntu下包管理 三、配置网卡四、安装后续学习使用的软件4-1 MobaXterm4-2 FileZilla4-3 Source Insight4.04-4 下载BSP4…

Open CASCADE学习|圆柱螺旋线绘制原理探究

1、圆柱螺旋线绘制原理 在OCC中,圆柱面的参数方程为: 设P为(x0,y0,z0),则 xx0r*cos(u) yy0r*sin(u) zz0v 但u、v之间有关系时,此方程表达为圆柱螺旋线,u、v之间为线性关系时是等螺距螺旋线&#xff0…

文件上传之秒传功能

秒传是一种文件的传输机制,用于在文件已经存在于目标服务器上时,通过校验文件的唯一标识,实现快速而无需从新上传整个文件,它解决了重复上传相同文件的问题,提高了文件传输的效率和节省了带宽资源。 技术阐述&#xff…

免 费 小程序商城搭建之鸿鹄云商 SAAS云产品概述

【SAAS云平台】打造全行业全渠道全场景的SaaS产品,为店铺经营场景提供一体化解决方案;门店经营区域化、网店经营一体化,本地化、全方位、一站式服务,为多门店提供统一运营解决方案;提供丰富多样的营销玩法覆盖所有经营…

软件测试面试八股文(2024新版)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发…

【unity实战】实现蓄力丢手榴弹、烟雾弹、燃烧弹的效果

文章目录 爆炸燃烧烟雾效果资产手榴弹丢手雷烟雾弹、燃烧弹实现手雷每次撞墙弹发出音效(补充)完结 爆炸燃烧烟雾效果资产 https://assetstore.unity.com/packages/vfx/particles/war-fx-5669 手榴弹 手榴弹配置好刚体,碰撞体 新增脚本Th…

IO流-处理流之——对象流(序列化)

IO流-处理流之——对象流(序列化) 1.数据流及其作用(了解)2.对象流及其作用3.对象的序列化机制是什么4.如下两个过程使用的流:5.自定义类要想实现序列化机制,需满足:6.注意点: 1.数据…

Qlik Sense : Store With Retry (保存重试机制)

Background sometime you cannot store the file directly ,maybe there are another process are reading/storeing the file , so you would need to wait another proecess done and retry . then we come up this solution . 有时您不能直接存储文件,可能还有…

Jenkins CLI 任意文件读取漏洞复现(CVE-2024-23897)

0x01 产品简介 Jenkins 是一个开源的自动化服务器软件,用于构建、测试和部署软件项目。它提供了一种强大的方式来自动化软件开发和交付流程,以提高开发团队的效率和生产力。 0x02 漏洞概述 漏洞成因 命令行接口文件读取: Jenkins内置的命令行接口(CLI)存在一个特性,允…

实验:eNSP AR通过telnet远程登录另外一台AR

实验2:eNSP AR通过telnet远程登录另外一台AR 基于实验1的基础上来进行,我们通过AR2220登录AR3260 首先设置远程登录密码 1、user-interface vty 0 4 进入用户的虚拟终端 2、设置密码 set authentication password cipher Huawei 这里的意思就是设置密…

org.springframework.util.StringUtils 下StringUtils工具类

目录 1.isEmpty 1.1.可以判断字符串是否为空或 null 1.2.可以判断Integer类型的数据是否为空 1.isEmpty 1.1.可以判断字符串是否为空或 null Testpublic void test() {/*** StringUtils.isEmpty 判断是空*/String username "123456";System.out.println(Strin…

数据结构(C语言版)代码实现(四)——静态单链表的部分代码实现

目录 参考材料、格式 头文件SLinkList.h 库、宏定义、函数类型声明 线性表的静态单链表存储结构 按值查找 初始化静态链表 分配空间 回收空间 打印已用链表中的元素 求集合(A-B)U(B-A)中的元素(重点介绍) 调试过程 修改报错与警告 调试 完整…

找不到msvcp110.dll怎么办,msvcp110.dll丢失修复方法分享

当计算机系统中无法找到msvcp110.dll这个特定的动态链接库文件时,可能会引发一系列运行问题和功能受限的情况。msvcp110.dll是Microsoft Visual C Redistributable Package的一部分,对于许多基于Windows的应用程序来说,它是至关重要的运行组件…

vue模拟聊天页面列表:滚动到底部,滚动到顶部触发加载更多

先看下效果&#xff1a; 代码&#xff1a; <template><div><div style"text-align: center"><button click"scrollTop">滚动到顶部</button><button click"scrollBottom">滚动到底部</button></d…

Vue深入学习2—虚拟DOM和Diff算法

1、snabbdom 是什么&#xff1f; snabbdom是“速度"的意思&#xff0c;源码只有200行&#xff0c;使用TS写的&#xff0c;让东西变得模块化 2、snabbdom 的 h 函数如何工作&#xff1f; h函数用于产生虚拟节点&#xff0c;同时也可以嵌套使用&#xff0c;得到虚拟DOM树&am…

kuberneters可视化界面-kuboard

一、kuboard安装 可以选用&#xff0c;docker和docker-commpose kuberneters 安装 kuboard官网 1、 docker安装 sudo docker run -d \--restartunless-stopped \--namekuboard \-p 80:80/tcp \-p 10081:10081/tcp \-e KUBOARD_ENDPOINT"http://192.168.1.10:80" …

linux的kali安装,换源,更新包

下载kali kali.org进入官网后点第二个 然后点第一个 解压kali 下载后获得.7z压缩包&#xff0c;建议移动到合适自己电脑的位置进行解压&#xff0c;我喜欢放在D盘 启动kali 双击进入解压出的文件夹&#xff0c;将唯一一个.vmx文件用vmware打开&#xff08;没装的自行提前装…