OpenHarmony docker环境搭建所见的问题和解决

【摘要】OpenHarmony docker环境搭建需要一台安装Ubuntu的虚拟机,并且虚拟机中需要有VScode。

整个搭建流程请参考这篇博客:OpenHarmony docker环境搭建-云社区-华为云 (huaweicloud.com)

上篇博主是用Ubuntu的服务器进行环境搭建的,在使用VScode时用到SSH登录虚拟机。

本篇采用Ubuntu桌面版对OpenHarmony docker环境进行搭建

【不建议使用桌面版进行配置,博主这边遇到的问题都是桌面版的!!!】。

文章目录


一、安装Docker

在虚拟机中安装Docker的步骤跟着官网的教程一步步来就行:Docker官方下载文档

二、下载官方Docker镜像

1.引入库

接下来的重点是下载官方docker镜像。

运行Docker软件,使用以下命令下载docker官方镜像:

python 复制代码
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

下载完成之后,使用docker images 可以查看到已下载的docker镜像

此时镜像名称太长不方便使用,可以使用重命名操作对镜像重命名:

python 复制代码
docker image tag swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0 openharmony-docker:1.0.0

此时使用 docker images 再次查看镜像,发现多出一个名为 openharmony-docker:1.0.0 的镜像

可以执行 docker rmi swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0 删除旧的镜像。

执行 docker run -it openharmony-docker:1.0.0 指令可以运行镜像。

三、OpenHarmony代码拉取

这里拉取方法建议使用OpenHarmony docker环境搭建-云社区-华为云 (huaweicloud.com)这篇博客中的第二种:通过http获取代码,详细内容请参考该博客(这里不在详细讲解)。

四、VScode下载

4.1、VScode下载后打不开的问题

博主这里在安装的过程中为了省事,将自己的用户权限设置成了root权限(为了方便在运行时不加sudo),这个操作也就导致我踩到了一个坑:VScode打不开的问题。这里之所以打不开,问题恰恰出现在root权限上,在Ubuntu默认的状态下,root权限是不允许打开VScode的,所以这里需要将原本对普通用户授予root权限的操作再做一次变成普通用户即可。可以参考这篇博主的文章做一遍:将普通用户授予root权限

4.2、VScode 识别不了容器问题

博主这里在桌面版的VScode中下载了Dev Containers插件,但是却在识别容器中发现,识别不到正在运行的容器!!!

接着准备下载桌面版的docker,在官网中我查询到,要下载桌面版Docker需要进行KVM virtualization support(KVM虚拟化支持)。

博主在这里遇到了第二个坑:虚拟机CPU不支持KVM虚拟化!!!

博主这里的虚拟机不支持虚拟化!!!(VMware Worstation)所以就陷入了死循环,不过解决办法还是有的。

既然桌面版的没法用,那就转战服务器版本!!!

下载VMware Worstation Pro 17 版本,并且配置一台Ubuntu的服务器版,然后按照步骤从头来配置就行了。

相关推荐
DigitalOcean1 小时前
DigitalOcean容器注册表推出多注册表支持功能
容器
江湖有缘3 小时前
Jump个人仪表盘Docker化部署教程:从0到 搭建专属导航页
运维·docker·容器
Lam㊣4 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
挖土机_0084 小时前
Kubernetes 1.35 原地扩容(In-Place Pod Resize)完整解析:机制、差异与实战示例
docker·kubernetes
左直拳5 小时前
将c++程序部署到docker
开发语言·c++·docker
五仁火烧5 小时前
Vue3 项目的默认端口行为
服务器·vue.js·nginx·容器·vue
Anyexyz6 小时前
【更新】境内 Docker 镜像状态监控——配置生成,一键复制!
运维·docker·容器
释怀不想释怀7 小时前
Docker(网络)
运维·docker·容器
羊羊羊i9 小时前
使用Informer监听K8s资源
云原生·容器·kubernetes
VermiliEiz10 小时前
二进制文件部署k8s方式(5)
云原生·容器·kubernetes