当前位置:   article > 正文

如何在云服务上通过docker部署服务?_云服务器安装docker

云服务器安装docker

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

一、在云服务器上安装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
  • 1
  • (2)运行以下命令,安装Alibaba Cloud Linux 3专用的dnf源兼容插件。
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
  • 1
  • (3)运行以下命令,安装Docker。
sudo dnf -y install docker-ce --nobest
  • 1
  • (4)sudo docker -v
    在这里插入图片描述
  • (5)执行以下命令,启动Docker服务,并设置开机自启动。
sudo systemctl start docker
sudo systemctl enable docker
  • 1
  • 2
  • (6)执行以下命令,查看Docker是否启动。
sudo systemctl status docker
  • 1

在这里插入图片描述

二、通过docker部署服务

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

1.1 创建Docker仓库

在这里插入图片描述

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

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

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

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

报错: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
  • 1

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

docker buildx inspect --bootstrap
  • 1

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

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

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

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

docker run -p 8080:8080 \
--name chatgpt-api \
-d forrest0721/chatgpt-api
  • 1
  • 2
  • 3

2.3 在云服务上开放8080端口

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

2.4 在本机的浏览器中验证

  • 输入:公网ip:8080/verify?token=xxx
    在这里插入图片描述
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号