摘要:本文介绍了在麒麟Linux系统(x86_64架构)上安装Docker并部署PostgreSQL的完整流程。首先确认CPU架构并下载对应版本的Docker安装包,然后从华为镜像源获取PostgreSQL 16.10的tar包并导入。在运行容器时遇到"unable to find image"错误,解决方法是通过镜像ID直接启动容器。整个过程包括:系统架构确认、Docker安装、镜像导入、容器运行及问题处理等关键步骤,为在国产操作系统上部署数据库服务提供了实用参考。

1.CPU确定

安装之前要确定是x86_64指令还是arm指令的平台

cat /etc/os-release

NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="Kylin"
VERSION_ID="V10"
PRETTV_NAME="Kylin Linux Adavanced Server V10 (Lance)"
ANSI_COLOR="0;31"
lscpu

Architecture: x86_64

2.安装docker软件

找到对应cpu版本的docker二进制安装包,我用的是docker—x86_64-rhel.rpm。因为我这边版本的麒麟好像是redhat的类似版本,所以用的是类似的rpm包。您也可以自行去下载,如下:

https://download.docker.com/linux/static/stable/x86_64/docker-24.0.7.tgz

2.从docker.io或者其他镜像上下载预期的版本tar包

我这里是用的华为镜像:swr.cn-north-4.myhuaweicloud.com/ddn-k8s/上下载的postgres16.10和nginx最新版本。

3.加载导入镜像

#docker load -i app-name.tar
docker load -i postgres16.10.tar

查看镜像信息如下:
docker images显示的内容是:
REPOSITORY:swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres 
TAG: 16.10
IMAGE ID:8216e24fab1e
CREATED: 5 months ago
SIZE: 451MB

4.运行程序

docker run -d \
  --name my_postgres \
  -e POSTGRES_PASSWORD=mypassword \
  -p 5432:5432 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:16.10

报错处理

A1.unable to find image 'postgres:16.10' locally

根据遇到的错误信息 unable to find image 'swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:16.10' locally,这通常是因为镜像加载后没有被正确标记为所需的名称和标签。通过 docker load 离线加载镜像时,镜像可能被加载为不同的名称或标签。可以使用镜像 ID 8216e24fab1e 运行 PostgreSQL 16.10 容器,请执行以下命令:

docker run -d \
  --name my_postgres \
  -e POSTGRES_PASSWORD=your_password \  # 设置数据库密码
  -p 5432:5432 \                       # 暴露数据库端口
  8216e24fab1e                         # 使用镜像ID直接启动,请根据您这边的实际id进行替换

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐