openEuler容器镜像使用指南

openEuler容器镜像使用指南

当前openEuler社区除过基础镜像之外,已经发布和上线了20+核心的开源应用镜像,本文着重分享openEuler基础镜像的安装和使用的初步实践,如果您对openEuler社区其他镜像感兴趣,欢迎大家使用和体验。

基础镜像简介

  1. 容器镜像仓库
    openEuler官方容器镜像仓库,包含openEuler基础镜像、应用镜像。在这里,你可以找到相应镜像的使用和介绍。

  2. 基础镜像地址
    openEuler的基础镜像官方仓库

  3. 基础镜像版本

镜像仓库

基础镜像和应用镜像支持的版本会发布到以下平台的镜像仓库,供开发者下载和使用。

镜像部署流程

1. 准备环境

  • windows系统需要准备一台虚拟机
  • mac系统可以使用自带的shell终端

2. 部署docker

#1、执行docker安装命令,已安装docker或下载docker客户端,跳过
dnf -y install docker  # 虚拟机安装docker示例, mac系统需自行安装

# 2、docker安装成功后,如docker安装成功,可以看到安装的版本
docker version 

5723f7ca5eb6c24d24bd3ad6a60cda8

3. 拉取镜像

镜像版本一般采用最新版本,如需其他版本替换latest为对应版本即可。拉取和运行都不建议以默认方式运行, 防止国外镜像容器网络问题导致网络不稳定。

# 拉取方式一: 默认方式,国内环境不建议使用
docker pull openeuler/openeuler:latest
# 拉取方式二:指定国内仓库,国内用户推荐使用
docker pull hub.oepkgs.net/openeuler/openeuler:latest
#镜像拉取完成后可以看到
docker images 

4. 运行容器

镜像版本一般采用最新版本,如需其他版本替换latest为对应版本即可。

# 运行方式一: 默认方式,国内环境不建议使用
docker run -it  openeuler/openeuler:latest
# 运行方式二:指定国内仓库,国内用户推荐使用
docker run -it  hub.oepkgs.net/openeuler/openeuler:latest

5. 容器运行测试

编写测试脚本,openeuler默认自带python3工具,可以编写一个简单的HelloWorld脚本测试。

参考如下:

# 打开文件编辑器
vi HelloWorld.py
# 按键insert或者i键开始编辑
# 输入测试程序
print("Hello, world!")
# 按键esc 退出编辑 按键 shift+:  输入wq! 保存文件
# 执行python脚本,测试程序
python3 HelloWorld.py

文件编辑示例

程序运行示例
a1c90f492615be15f6e4877a4185503

5 Likes

环境:

[paddy@localhost 01]$ hostnamectl
   Static hostname: (unset)                             
Transient hostname: localhost
         Icon name: computer-server
           Chassis: server 🖳
        Machine ID: e06e4536e4d64168b0b02671bea3a57c
           Boot ID: e96ea39a252d46919051a262ed3fb79d
  Operating System: openEuler 24.03 (LTS)
            Kernel: Linux 6.6.0-28.0.0.34.oe2403.aarch64
      Architecture: arm64
   Hardware Vendor: Yunke China
    Hardware Model: KunTai R522
  Firmware Version: 6.69
     Firmware Date: Mon 2024-01-15
      Firmware Age: 6month 2w 1d
[paddy@localhost 01]$ 

问题

docker build -t test .

出现如下问题
 ---> Running in c1055674bad4
curl: (6) getaddrinfo() thread failed to start

···

这个问题之前有用户遇到过,请参考以下内容排查:

issue:

PR:

排查方式:
docker run … --security-opt seccomp=undefined …
如果通过修改docker安全模块后问题解决,基本确认是该原因导致。

顺便帮忙提供下

containerd的版本:
containerd --version

docker的版本:
docker --version