• [问题求助] pypi镜像:pipenv install xx时,找不到包
    **环境:** win10 wsl 下的ubuntu,pipenv为 apt install 安装,ubuntu的apt repo同样为华为镜像 >$ cat /etc/issue >Ubuntu 20.04.2 LTS \n \l >​$ pipenv --version >pipenv, version 11.9.0 >$ virtualenv --version >virtualenv 20.0.17 from /usr/lib/python3/dist-packages/virtualenv/__init__.py **按pipenv一般的workflow:** >$ ​pipenv --three ​修改 Pipfile中 source的url为华为镜像源 https://mirrors.huaweicloud.com/repository/pypi/simple >$ ​pipenv lock (这里lock不lock 都可以,执行lock正常,验证下流程到这里没有问题) >$ pipenv install requests 会报如下error: > ​ ​ ​Installing requests… > ​ ​ ​Looking in indexes: https://mirrors.huaweicloud.com/repository/pypi/simple ​ ​ ​Requirement already satisfied: requests in /home/co/.local/share/virtualenvs/bb-YgP_j5p4/lib/python3.8/site-packages (2.22.0) > ​ ​ ​Adding requests to Pipfile's [packages]… > ​ ​ ​Pipfile.lock not found, creating… > ​ ​ ​Locking [dev-packages] dependencies… > ​ ​ ​Locking [packages] dependencies… > ​ ​ ​Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies. > ​ ​ ​ You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation. > ​ ​ ​Could not find a version that matches requests > ​ ​ ​Tried: (no version found at all) ** Tried: (no version found at all) **,换成清华的镜像是没问题的,因为官方pypi太慢 会timeout 所以没办法测试。 COMMENT: 删掉pipenv,使用pipx重新安装最新版的pipenv,此时会报另外一个错,大概意思是 get某一个包的版本列表url地址的时候 返回的html里content-type是application/octet-stream,但只能接受text/html。手动curl测试了一下,却没有复现这个octet-stream。
  • [服务构建器] ManageOne8.0.2版本服务构建器模板、脚本开发常见问题FAQ
    1、ECS安装JDK后无法运行,提示:无法执行二进制文件 。答:请检查JDK位数和操作系统的位数是否相同,请下载安装和操作系统位数相同的JDK版本。2、无法在跳板机通过Xshell工具使用root账户远程登录ECS。答:解决办法1:部分镜像没有打开root账户远程登录和密码登录开关,请使用VNC方式登录到ECS操作系统,修改/etc/ssh/sshd.config,开启允许root账户远程登录和密码登录两个选项;解决办法2:如果Linux版本要求为Centos7.6,请在申请ECS时使用名称为:CentOs_76everything(20G)的镜像,此镜像默认开启了这两个选项。3、软件源服务器的地址是什么?如何访问?答:软件源服务器已搭建完成,请联系华为工程师获取登录地址和用户信息后 ,在跳板机内可以通过Xshell、Xftp工具进行访问。4、如何将需要的软件包从本地上传到软件云服务器?如何下载自己上传的软件包?答:建议以邮件、网盘的方式将软件包下载到跳板机,通过跳板机将软件上传到软件源服务器的/var/www/html/packages目录下,建议在此目录下创建自己的文件夹,方便管理软件包;下载使用软件包请使用wget命令,通过如下方式下载:wget http://{软件源服务器弹性IP}/packages/{目录}/{文件名称}。5、脚本在编写过程中有哪些约束:答:Windows系统脚本支持Python、PowerShell、Batch三种语言;Linux系统支持Python、Shell、Perl三种语言;脚本内容,编码前的大小不允许超过32K,否则会导致实例申请失败。6、每台ECS都需要挂弹性IP吗?答:弹性IP是公网IP,主要用于ECS访问软件源服务器下载安装包、外部访问ECS部署的应用入口。注意因弹性IP并未开启外网连接,不能在ECS内通过yum方式使用外部yum源安装软件,软件的下载方式,请参考问题4。7、如何将创建好的服务模板导出?答:请进入 系统->服务模板页面:点击“导出”按钮,按照后续提示导出并下载服务模板。8、服务模板中,多台ECS的镜像、规格、可用分区、子网、系统盘大小等参数通过外部输入的方式获取,且这几台ECS的参数都是相同的,如何通过外部只输入一组参数,完成这些ECS的参数设置?答:参数的设定方式为外部输入,即属性的获得通过 get_param 方法,如下图所示:将弹性云服务器ECS1、ECS2中“image”、“flavor”、“availability_zone”参数下的“get_param”属性值都设置为相同值,例如这两台ECS的这三个值都设置为“镜像”“规格”“可用分区”,即可实现输入一组数据,同时设置多台ECS参数。
  • [技术干货] Multi-Architecture镜像制作指南已到,请查收!
    摘要:使用Multi-Architecture镜像,可以让docker根据系统架构去拉取对应的镜像,服务的部署脚本等可以在不同架构的系统间使用相同的配置,减化服务配置,提高了服务在不同系统架构间的一致性。背景由于Kubernetes集群支持amd64和arm64架构的系统,容器部署时两种类型的节点都可能被集群调度到;所以容器在打包推送到镜像仓库时需要考虑支持多架构,防止调度到不支持的架构节点导致运行失败。简介Docker register: v2.3.0开始支持Multi-Architecture镜像Docker CLIv1.11开始支持Multi-Architecture镜像拉取v18.03开始支持Multi-Architecture镜像制作参考资料:Manifest标准:https://docs.docker.com/registry/spec/manifest-v2-1/Manifest命令:https://docs.docker.com/engine/reference/commandline/manifest/Registry:https://github.com/docker/distribution/releases/tag/v2.3.0制作说明虽然Multi-Architecture标准很早就有,但是官方的Docker CLI直到v18.03版本才开始支持Multi-Architecture镜像的制作;或者可以考虑使用第三方工具,参考:构建多CPU架构支持的Docker镜像后续Multi-Architecture镜像的制作使用Docker v18.09版本进行说明。设置DockerDocker使用manifest命令来设置MANIFEST_LIST从而支持Multi-Architecture。到Docker v18.09版本为止,manifest命令还是实验性的,所以要配置Docker使能实验性功能。Docker daemon修改配置文件/etc/docker/daemon.json,添加配置"experimental": true:$ sudo cat /etc/docker/daemon.json[sudo] password for zhangsan:{    "data-root": "/home/common/docker",    "experimental": true,               <- 使能docker daemon实验性功能    "storage-driver": "overlay2",    "log-driver": "json-file",    "log-opts": {        "max-file": "10",        "max-size": "100m"    },    "insecure-registries": [        "docker-hub.***.com"    ]}Docker Cli修改当前用户home目录的配置文件~/.docker/config.json,添加配置"experimental": "enabled":$ cat ~/.docker/config.json{    "experimental": "enabled",          <- 使能docker cli实验性功能        "proxies":        {            "default":            {                "httpProxy": "http://127.0.0.1:3128",                "httpsProxy": "http://127.0.0.1:3128",                "ftpProxy": "http://127.0.0.1:3128"            }        }}验证配置重启docker服务,手工运行docker manifest,出现如下信息说明配置成功:$ docker manifest Usage:  docker manifest COMMAND  Manage Docker image manifests and manifest lists  Commands:  annotate    Add additional information to a local image manifest  create      Create a local manifest list for annotating and pushing to a registry  inspect     Display an image manifest, or manifest list  push        Push a manifest list to a repository Run 'docker manifest COMMAND --help' for more information on a command.镜像打包示例程序stop是一个go程序,启动后暂停不做任何操作,编译到amd64和arm64平台,在amd64平台分别运行如下:$ ll -hR.:total 8.0Kdrwxrwxr-x 2 zhangsan zhangsan 4.0K Jun  3 17:21 amd64drwxrwxr-x 2 zhangsan zhangsan 4.0K Jun  3 17:21 arm64 ./amd64:total 240K-rw-rw-r-- 1 zhangsan zhangsan   51 Jun  3 17:21 Dockerfile-rwxrwxr-x 1 zhangsan zhangsan 235K Jul 19  2014 stop ./arm64:total 656K-rw-rw-r-- 1 zhangsan zhangsan   51 Jun  3 17:21 Dockerfile-rwxr-xr-x 1 zhangsan zhangsan 651K May 22 14:38 stop $ amd64/stop^C% $ arm64/stopzsh: exec format error: arm64/stop使用相同的Dockerfile:$ cat DockerfileFROM scratch COPY stop /stopENTRYPOINT ["/stop"]amd64版本$ cd amd64 $ lsDockerfile  stop # 使用tag标注平台信息。$ docker build -t docker-hub.***.com/zhangsan/stop:1.0-amd64 .Sending build context to Docker daemon  242.7kBStep 1/3 : FROM scratch --->Step 2/3 : COPY stop /stop ---> ffb0d366bb8cStep 3/3 : ENTRYPOINT ["/stop"] ---> Running in 715d1fbcf450Removing intermediate container 715d1fbcf450 ---> 0584fe60ca3dSuccessfully built 0584fe60ca3dSuccessfully tagged docker-hub.***.com/zhangsan/stop:1.0-amd64 $ docker images | grep stopREPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZEdocker-hub.***.com/zhangsan/stop        1.0-amd64           0584fe60ca3d        3 seconds ago       240kB $ docker push docker-hub.***.com/zhangsan/stop:1.0-amd64The push refers to repository [docker-hub.***.com/zhangsan/stop]9e352dcc98ab: Pushed1.0-amd64: digest: sha256:e5b6263b7e45840f139f1bf40b774294712c95df1b43d41598b736f07110341f size: 526 # 可以用manifest的子命令inspect查看镜像的manifest信息,由于是私有仓库,需要使用--insecure参数。$ docker manifest inspect -v --insecure docker-hub.***.com/zhangsan/stop:1.0-amd64{        "Ref": "docker-hub.***.com/zhangsan/stop:1.0-amd64",        "Descriptor": {                "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                "digest": "sha256:e5b6263b7e45840f139f1bf40b774294712c95df1b43d41598b736f07110341f",                "size": 526,                "platform": {                        "architecture": "amd64",                        "os": "linux"                }        },        "SchemaV2Manifest": {                "schemaVersion": 2,                "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                "config": {                        "mediaType": "application/vnd.docker.container.image.v1+json",                        "size": 1489,                        "digest": "sha256:0584fe60ca3dbff4c746d376855e89b72b022a4198373b3c8d4c41b97b8b4faf"                },                "layers": [                        {                                "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                "size": 71322,                                "digest": "sha256:7797d3b3ba41f7abc6a914250f793cf2d69a3e7c0bcc787a596eab4836554552"                        }                ]        }}arm64版本$ cd arm64 $ lsDockerfile  stop $ docker build -t docker-hub.***.com/zhangsan/stop:1.0-arm64 .Sending build context to Docker daemon  669.2kBStep 1/3 : FROM scratch --->Step 2/3 : COPY stop /stop ---> e02dd9cc9ffaStep 3/3 : ENTRYPOINT ["/stop"] ---> Running in 9b574680691aRemoving intermediate container 9b574680691a ---> 1fc97e49b088Successfully built 1fc97e49b088Successfully tagged docker-hub.***.com/zhangsan/stop:1.0-arm64 $ docker images | grep stopdocker-hub.***.com/zhangsan/stop        1.0-arm64           1fc97e49b088        8 seconds ago       666kBdocker-hub.***.com/zhangsan/stop        1.0-amd64           0584fe60ca3d        3 minutes ago       240kB $ docker push docker-hub.***.com/zhangsan/stop:1.0-arm64The push refers to repository [docker-hub.***.com/zhangsan/stop]a0c07ccfc4ae: Pushed1.0-arm64: digest: sha256:089798dc96fcc3d2bf4da3ec4243adcc2507d2ae0c5ba77c5582af626702b3d6 size: 527 # 由于打包镜像的机器是amd64架构,所以arm64的应用镜像中architecture为amd64,后面可以修改,或者直接在arm64机器上打包。$ docker manifest inspect -v --insecure docker-hub.***.com/zhangsan/stop:1.0-arm64{        "Ref": "docker-hub.***.com/zhangsan/stop:1.0-arm64",        "Descriptor": {                "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                "digest": "sha256:089798dc96fcc3d2bf4da3ec4243adcc2507d2ae0c5ba77c5582af626702b3d6",                "size": 527,                "platform": {                        "architecture": "amd64",                        "os": "linux"                }        },        "SchemaV2Manifest": {                "schemaVersion": 2,                "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                "config": {                        "mediaType": "application/vnd.docker.container.image.v1+json",                        "size": 1488,                        "digest": "sha256:1fc97e49b0883f59e1e894404785ea1867b9e557d55bdac92f2da09c92b659e7"                },                "layers": [                        {                                "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                "size": 318698,                                "digest": "sha256:4397808817371da0348eb097ca181996165a9836d629aa1fb97b0d3824ffe2e2"                        }                ]        }}验证镜像$ docker images | grep stopdocker-hub.***.com/zhangsan/stop        1.0-arm64           1fc97e49b088        21 hours ago        666kBdocker-hub.***.com/zhangsan/stop        1.0-amd64           0584fe60ca3d        21 hours ago        240kB $ docker run docker-hub.***.com/zhangsan/stop:1.0-amd64^C% $ docker run docker-hub.***.com/zhangsan/stop:1.0-arm64standard_init_linux.go:207: exec user process caused "exec format error"创建MANIFEST_LIST创建一个MANIFEST_LIST引用之前两个不同平台的镜像。$ docker manifest inspect -v --insecure docker-hub.***.com/zhangsan/stop:1.0no such manifest: docker-hub.***.com/zhangsan/stop:1.0 $ docker manifest create --insecure docker-hub.***.com/zhangsan/stop:1.0 docker-hub.***.com/zhangsan/stop:1.0-amd64 docker-hub.***.com/zhangsan/stop:1.0-arm64Created manifest list docker-hub.***.com/zhangsan/stop:1.0 $ docker manifest inspect -v --insecure docker-hub.***.com/zhangsan/stop:1.0[        {                "Ref": "docker-hub.***.com/zhangsan/stop:1.0-amd64",                "Descriptor": {                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "digest": "sha256:e5b6263b7e45840f139f1bf40b774294712c95df1b43d41598b736f07110341f",                        "size": 526,                        "platform": {                                "architecture": "amd64",                                "os": "linux"                        }                },                "SchemaV2Manifest": {                        "schemaVersion": 2,                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "config": {                                "mediaType": "application/vnd.docker.container.image.v1+json",                                "size": 1489,                                "digest": "sha256:0584fe60ca3dbff4c746d376855e89b72b022a4198373b3c8d4c41b97b8b4faf"                        },                        "layers": [                                {                                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                        "size": 71322,                                        "digest": "sha256:7797d3b3ba41f7abc6a914250f793cf2d69a3e7c0bcc787a596eab4836554552"                                }                        ]                }        },        {                "Ref": "docker-hub.***.com/zhangsan/stop:1.0-arm64",                "Descriptor": {                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "digest": "sha256:089798dc96fcc3d2bf4da3ec4243adcc2507d2ae0c5ba77c5582af626702b3d6",                        "size": 527,                        "platform": {                                "architecture": "amd64",                                "os": "linux"                        }                },                "SchemaV2Manifest": {                        "schemaVersion": 2,                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "config": {                                "mediaType": "application/vnd.docker.container.image.v1+json",                                "size": 1488,                                "digest": "sha256:1fc97e49b0883f59e1e894404785ea1867b9e557d55bdac92f2da09c92b659e7"                        },                        "layers": [                                {                                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                        "size": 318698,                                        "digest": "sha256:4397808817371da0348eb097ca181996165a9836d629aa1fb97b0d3824ffe2e2"                                }                        ]                }        }]修改MANIFEST_LIST修改刚创建的MANIFEST_LIST,使镜像和架构对应。$ docker manifest annotate docker-hub.***.com/zhangsan/stop:1.0 docker-hub.***.com/zhangsan/stop:1.0-arm64 --arch arm64[        {                "Ref": "docker-hub.***.com/zhangsan/stop:1.0-amd64",                "Descriptor": {                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "digest": "sha256:e5b6263b7e45840f139f1bf40b774294712c95df1b43d41598b736f07110341f",                        "size": 526,                        "platform": {                                "architecture": "amd64",                                "os": "linux"                        }                },                "SchemaV2Manifest": {                        "schemaVersion": 2,                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "config": {                                "mediaType": "application/vnd.docker.container.image.v1+json",                                "size": 1489,                                "digest": "sha256:0584fe60ca3dbff4c746d376855e89b72b022a4198373b3c8d4c41b97b8b4faf"                        },                        "layers": [                                {                                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                        "size": 71322,                                        "digest": "sha256:7797d3b3ba41f7abc6a914250f793cf2d69a3e7c0bcc787a596eab4836554552"                                }                        ]                }        },        {                "Ref": "docker-hub.***.com/zhangsan/stop:1.0-arm64",                "Descriptor": {                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "digest": "sha256:089798dc96fcc3d2bf4da3ec4243adcc2507d2ae0c5ba77c5582af626702b3d6",                        "size": 527,                        "platform": {                                "architecture": "arm64",                                "os": "linux"                        }                },                "SchemaV2Manifest": {                        "schemaVersion": 2,                        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                        "config": {                                "mediaType": "application/vnd.docker.container.image.v1+json",                                "size": 1488,                                "digest": "sha256:1fc97e49b0883f59e1e894404785ea1867b9e557d55bdac92f2da09c92b659e7"                        },                        "layers": [                                {                                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                        "size": 318698,                                        "digest": "sha256:4397808817371da0348eb097ca181996165a9836d629aa1fb97b0d3824ffe2e2"                                }                        ]                }        }]推送MANIFEST_LIST到镜像仓库创建的MANIFEST_LIST会保存在本地目录~/.docker/manifests,在push时可以使用-p(--purge)参数删除本地数据:$ ll -R ~/.docker/manifests/home/zhangsan/.docker/manifests:total 4drwxr-xr-x 2 zhangsan zhangsan 4096 Jun  3 17:57 docker-hub.***.com_zhangsan_stop-1.0 /home/zhangsan/.docker/manifests/docker-hub.***.com_zhangsan_stop-1.0:total 8-rw-r--r-- 1 zhangsan zhangsan 733 Jun  3 17:57 docker-hub.***.com_zhangsan_stop-1.0-amd64-rw-r--r-- 1 zhangsan zhangsan 734 Jun  3 18:01 docker-hub.***.com_zhangsan_stop-1.0-arm64 $ sudo docker manifest push -p --insecure docker-hub.***.com/zhangsan/stop:1.0[sudo] password for zhangsan:sha256:401767ef0864a65578bef86e3baed2e1e0be905d08d88b57cdeb299850400ece验证$ docker images | grep stopdocker-hub.***.com/zhangsan/stop        1.0-arm64           1fc97e49b088        16 hours ago        666kBdocker-hub.***.com/zhangsan/stop        1.0-amd64           0584fe60ca3d        16 hours ago        240kB # 在amd64架构的系统下拉取不带架构信息的镜像$ uname -aLinux SZX1000514415 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ docker pull docker-hub.***.com/zhangsan/stop:1.01.0: Pulling from zhangsan/stopDigest: sha256:401767ef0864a65578bef86e3baed2e1e0be905d08d88b57cdeb299850400eceStatus: Downloaded newer image for docker-hub.***.com/zhangsan/stop:1.0 $ docker images | grep stopdocker-hub.***.com/zhangsan/stop        1.0-arm64           1fc97e49b088        16 hours ago        666kBdocker-hub.***.com/zhangsan/stop        1.0                 0584fe60ca3d        16 hours ago        240kBdocker-hub.***.com/zhangsan/stop        1.0-amd64           0584fe60ca3d        16 hours ago        240kB # 可正常运行$ docker run docker-hub.***.com/zhangsan/stop:1.0^C% # 在arm64架构的系统下拉取不带架构信息的镜像[root@kwephicprc09532 ~]# uname -aLinux kwephicprc09532 4.1.44-06.160.vhulk1711.1.1.aarch64 #1 SMP Tue Oct 16 18:45:06 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux [root@kwephicprc09532 ~]# docker images | grep stop [root@kwephicprc09532 ~]# docker pull docker-hub.***.com/zhangsan/stop:1.01.0: Pulling from zhangsan/stop439780881737: Pull completeDigest: sha256:401767ef0864a65578bef86e3baed2e1e0be905d08d88b57cdeb299850400eceStatus: Downloaded newer image for docker-hub.***.com/zhangsan/stop:1.0 [root@kwephicprc09532 ~]# docker images | grep stopdocker-hub.***.com/zhangsan/stop                          1.0                 1fc97e49b088        16 hours ago        666.5 kB # 可正常运行[root@kwephicprc09532 ~]# docker run docker-hub.***.com/zhangsan/stop:1.0^CShutting down, got signal: Interrupt升级MANIFEST_LIST后期升级MANIFEST_LIST方法与创建类似,如:docker-hub.***.com/zhangsan/stop:1.0-amd64镜像升级或docker-hub.***.com/zhangsan/stop:1.0这个MANIFEST_LIST要关联其它镜像时,都需要升级MANIFEST_LIST。需要注意几点:manifest create时使用参数-a(--amend)升级后没有关联到期望的镜像可以先手工删除本地保存的manifest再尝试使用Multi-Architecture镜像的好处使用Multi-Architecture镜像,可以让docker根据系统架构去拉取对应的镜像,服务的部署脚本等可以在不同架构的系统间使用相同的配置,减化服务配置,提高了服务在不同系统架构间的一致性。 本文分享自《叮!快收好这份Multi-Architecture镜像制作指南》,原文作者:Thir**mans 。
  • [技术干货] 如何在弹性云服务器上使用s10操作系统?
    风险提示:弹性云服务器不支持windows10操作系统,请慎重使用并愿意承担系统所带来的系统崩溃,数据丢失的风险,如有需要请及时做好数据备份。弹性云服务器支持的操作系统版本,请参考:https://support.huaweicloud.com/productdesc-ims/ims_01_0007.html 操作指导:如果一定要使用window10,进行测试场景,请参考以下操作实现:Step 1.《基于VirtualBox使用ISO创建Windows镜像》把IOS镜像转化问VHD,或者使用VMDK、QCOW2、RAW、VHDX、QED、VDI、QCOW、ZVHD2和ZVHD等格式镜像。    《基于VirtualBox使用ISO创建Windows镜像》请参考:https://support.huaweicloud.com/bestpractice-ims/ims_bp_0002.html Step 2. 通过外部镜像文件创建Windows系统盘镜像,请参考: https://support.huaweicloud.com/usermanual-ims/ims_01_0203.htmlStep 3. 优化私有镜像(Windows),请参考: https://support.huaweicloud.com/usermanual-ims/ims_01_0315.html,Step 4. 优化之后是无法直接通过mstsc方式登录服务器的,会提示:             Step 5. Windows远程桌面连接方式进行访问的云服务器,需要在制作私有镜像时开启远程桌面连接功能,开启远程桌面连接功能解决,详情请参考:https://support.huaweicloud.com/usermanual-ims/ims_01_0401.html案例分享:Win 10私有镜像——一次完美的制作过程,请戳附件哦~
  • [交流吐槽] 关于镜像下载的顺序问题
    镜像能否按照时间倒序排列, 最新的摆在最上面~ 每次进来都是疯狂的往下拉
  • [大数据] 【问题求助】使用华为云镜像站Hue 3.9.0的二进制包,无法启动
    问题描述下载了华为云镜像站的hue cdh5.12.1 二进制包后,无法启动hue。https://mirrors.huaweicloud.com/kunpeng/dist/Cloudera/cdh5/cdh/5/hue-cdh5.12.1-bin.tar.gz启动命令为 build/env/bin/hue runserver报错pkg_resources.DistributionNotFound: desktop==3.9.0
  • [容器专区] 【融合终端产品】容器内执行“rmmod ftdi_sio”命令失败
    【功能模块】在容器运行的demo程序会调用函数并执行system("rmmod ftdi_so"),窗口显示执行命令异常,如下图所示:【操作步骤&问题现象】1、容器包的生成方法是参考《边缘计算网关二次开发智能(AR-CORE系列)》指导手册,制作脚本是从容器编译环境制作脚本下载。2、容器制作步骤:a.制作基础镜像 -> b.在基础镜像里编译第三方开源组件(命令:./build_opensrc.sh arm64) -> c.制作最终编译环境的镜像 -> d.在最终容器环境下编译生成容器包,执行命令:./build_ova.sh arm64 1.0.0 huawei unprivileged3、将生成的容器安装包ARLXC-EC-1.0.1-arm64-unprivileged.ova导入到融合终端的/mnt/internal_storage目录下,然后安装容器并加载所有驱动,容器状态如下:4、进入容器后,手动执行命令“rmmod ftdi_sio”是正常,但执行demo程序后,就会出现异常现象,如下界面5、相同的demo程序,放在贵单位核心板默认安装的lxc01环境下是可以正常运行的,能成功操作ft4232芯片并实现SPI的收发通信。
  • [问题求助] CentOS7.4 aarch64 制作镜像虚机无法启动
    网上下载了一个CentOS 7.4 aarch64的iso,通过kvm制作成了一个raw格式的image,镜像上传到openstack中通过nova启动虚机,虚机虽然创建成功,但是卡在引导界面哪位大佬能给支持下?
  • [CentOS] CentOS7.4 aarch64 制作镜像虚机无法启动
    网上下载了一个CentOS 7.4 aarch64的iso,通过kvm制作成了一个raw格式的image,镜像上传到openstack中通过nova启动虚机,虚机虽然创建成功,但是卡在引导界面哪位大佬能给支持下?
  • [问题求助] 【问题】使用镜像站Ambari源后,安装Ambari-server报错
    1. 问题描述TaiShan 200 2280 5250CentOS 7.6 虚拟机在使用镜像站的Ambari源后,安装Ambari-server报错
  • [其他] 【集群创建失败】 DWS.6000/进度40%失败/RdsPingInstanceManagerIpTask
    【问题现象】      页面创建dws集群失败,从DWSController容器无法ping通业务节点内大网ip。【分析过程】登录rms数据库,从rds_instance表中根据集群名查找manageIp字段登录dwscontroller容器,尝试ping manageIp若无法ping通,求助底座同事,获取vmc登录地址,通过vmc登录查看操作系统是否已经启动若操作系统已经启动,则由网络同事检查内大网与pep之间的连通性【解决方案】实例的操作系统无法启动导致从controller无法ping通manageIp1).检查DWS镜像是否正确,是否存在arm和x86镜像id填错导致使用arm镜像发放x86虚拟机的情况;若镜像正常,如果是BMS发放场景,检查裸机服务器的启动方式与镜像注册时的启动方式是否匹配,如果不匹配会导致操作系统启动失败2)已知 803镜像不支持smart raid卡,检查确认硬件raid卡,如果是请参考案例:              https://bbs.huaweicloud.com/forum/thread-159358-1-1.html     2.操作系统已经启动,DWS实例可以登录,但网络不通          由网络同事排查PEP和内大网的连通性,排查方向是否按照  扩容裸金属导出汇总表--》裸金属服务平面:基本参数:ironic的vlan起始值,ironic的vlan结束值配置          例如在交换机上查看:            dis cur int eth 1001              Port trunk allow-pass vlan 219 260 278 3400 to 3500 3601 to 3700    3.管理ip没有绑定或者绑定的和serviceOM查到的ip不一致,请联系网络检查交换机板载口配置
  • [技术干货] 【转载】容器、Docker、虚拟机,别再傻傻分不清
     摘要:容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。尽管容器技术已经出现很久,却是随着Docker的出现而变得广为人知。容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。尽管容器技术已经出现很久,却是随着Docker的出现而变得广为人知。Docker是第一个使容器能在不同机器之间移植的系统。它不仅简化了打包应用的流程,也简化了打包应用的库和依赖,甚至整个操作系统的文件系统能被打包成一个简单的可移植的包,这个包可以被用来在任何其他运行Docker的机器上使用。容器和虚拟机具有相似的资源隔离和分配方式,容器虚拟化了操作系统而不是硬件,更加便携和高效。图1 容器 vs 虚拟机相比于使用虚拟机,容器有如下优点:更高效的利用系统资源由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,容器对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。更快速的启动时间传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间,大大节约了开发、测试、部署的时间。一致的运行环境开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些问题并未在开发过程中被发现。而Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性。更轻松的迁移由于Docker确保了执行环境的一致性,使得应用的迁移更加容易。Docker可以在很多平台上运行,无论是物理机、虚拟机,其运行结果是一致的。因此可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。更轻松的维护和扩展Docker使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker团队同各个开源项目团队一起维护了大批高质量的官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。Docker容器典型使用流程Docker容器有如下三个主要概念:镜像:Docker镜像里包含了已打包的应用程序及其所依赖的环境。它包含应用程序可用的文件系统和其他元数据,如镜像运行时的可执行文件路径。镜像仓库:Docker镜像仓库用于存放Docker镜像,以及促进不同人和不同电脑之间共享这些镜像。当编译镜像时,要么可以在编译它的电脑上运行,要么可以先上传镜像到一个镜像仓库,然后下载到另外一台电脑上并运行它。某些仓库是公开的,允许所有人从中拉取镜像,同时也有一些是私有的,仅部分人和机器可接入。容器:Docker容器通常是一个Linux容器,它基于Docker镜像被创建。一个运行中的容器是一个运行在Docker主机上的进程,但它和主机,以及所有运行在主机上的其他进程都是隔离的。这个进程也是资源受限的,意味着它只能访问和使用分配给它的资源(CPU、内存等)。典型的使用流程如图2所示:图2 Docker容器典型使用流程(1)首先开发者在开发环境机器上开发应用并制作镜像。Docker执行命令,构建镜像并存储在机器上。(2)开发者发送上传镜像命令。Docker收到命令后,将本地镜像上传到镜像仓库。(3)开发者向生产环境机器发送运行镜像命令。生产环境机器收到命令后,Docker会从镜像仓库拉取镜像到机器上,然后基于镜像运行容器。使用示例下面使用Docker将基于Nginx镜像打包一个容器镜像,并基于容器镜像运行应用,然后推送到容器镜像仓库。安装DockerDocker几乎支持在所有操作系统上安装,用户可以根据需要选择要安装的Docker版本。在Linux操作系统下,可以使用如下命令快速安装Docker。curl -fsSL get.docker.com -o get-docker.shsh get-docker.sh说明: CentOS 8.0操作系统使用上述脚本安装Docker会出现问题,建议使用如下命令安装较低版本Docker。 wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo yum install docker-ce-18.06.3.ce -y systemctl restart docker Docker打包镜像 Docker提供了一种便捷的描述应用打包的方式,叫做Dockerfile,如下所示: # 使用官方提供的Nginx镜像作为基础镜像 FROM nginx:alpine   # 执行一条命令修改Nginx镜像index.html的内容 RUN echo "hello world" > /usr/share/nginx/html/index.html   # 允许外界访问容器的80端口 EXPOSE 80 执行docker build命令打包镜像。 docker build -t hello . 其中-t表示给镜像加一个标签,也就是给镜像取名,这里镜像名为hello。. 表示在当前目录下执行该打包命令。 执行docker images命令查看镜像,可以看到hello镜像已经创建成功。您还可以看到一个Nginx镜像,这个镜像是从镜像仓库下载下来的,作为hello镜像的基础镜像使用。 # docker images REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE hello               latest              d120ec16dcea        17 minutes ago      158MB nginx               alpine              eeb27ee6b893        2 months ago        148MB 本地运行容器镜像 有了镜像后,您可以在本地执行docker run命令运行容器镜像。 # docker run -p 8080:80 hello docker run命令会启动一个容器,命令中-p是将本地机器的8080端口映射到容器的80端口,即本地机器的8080端口的流量会映射到容器的80端口,当您在本地机器访问 http://127.0.0.1:8080时,就会访问到容器中,此时浏览器中返回的内容应该就是“hello world”。 把镜像推送到镜像仓库 华为云提供了容器镜像服务SWR,您也可以将镜像上传到SWR,下面演示如何将镜像推送到SWR。详细的方法请参见客户端上传镜像,本文档后续的示例中将主要使用SWR作为示例。 首先登录SWR控制台,在左侧选择“我的镜像”,然后单击右侧“客户端上传镜像”,在弹出的窗口中单击“生成临时登录指令”,然后复制该指令在本地机器上执行,登录到SWR镜像仓库。 上传镜像前需要给镜像取一个完整的名称,如下所示: # docker tag hello swr.cn-east-3.myhuaweicloud.com/container/hello:v1 这里swr.cn-east-3.myhuaweicloud.com是仓库地址,每个华为云区域的地址不同,v1则是hello镜像分配的版本号。 swr.cn-east-3.myhuaweicloud.com是仓库地址,每个华为云区域的地址不同。 container是组织名,组织一般在SWR中创建,如果没有创建则首次上传的时候会自动创建,组织名在单个区域内全局唯一,需要选择合适的组织名称。 v1则是hello镜像分配的版本号。 然后执行docker push命令就可以将镜像上传到SWR。 # docker push swr.cn-east-3.myhuaweicloud.com/container/hello:v1 当需要使用该镜像时,使用docker pull命令拉取(下载)该命令即可。 # docker pull swr.cn-east-3.myhuaweicloud.com/container/hello:v1
  • [交流吐槽] 提一个kubernetes镜像的BUG
    网站上给出的创建kubernetes.repo的命令有问题,感觉完全没做过测试嘛,原命令是这样的:使用这个命令后的结果,是这样的:
  • [问题求助] centos8.1.1911 的镜像资源怎么没了
  • [问题求助] 开源镜像站 Composer 镜像问题
    Composer 镜像包不全,更新不及时。
总条数:826 到第 页
上滑加载中