如何在麒麟kylin(v10版本)中使用docker运行git代码

本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。

嘉chenjunbee获取

引言

Docker 是一个开源的应用容器引擎,能够让开发者将应用程序及其依赖打包成轻量级、可移植的容器,极大地方便了应用的开发、测试和部署。在麒麟操作系统V10(Kylin OS V10)上安装和使用 Docker,不仅可以享受到容器技术的便利性,还能充分利用麒麟操作系统作为国产自主可控操作系统的优势,确保应用的高效运行和数据安全。本文将详细介绍在麒麟操作系统V10上安装 Docker 的步骤,以及如何运行和管理 Docker 容器。

一、安装docker

以下操作均在root用户下进行

1.1 查看当前操作系统版本

1.2 备份yum包

1.3 下载阿里云yum源配置文件

1.4 清除缓存并更新

1.5 查看可用yum源

1.6 安装软件包并设置存储库

1.7 安装docker

这里选择社区版本(CE版)

1.8 启动服务

1.9 验证服务

输出日志

二、运行git代码

下面是拉取LINUX性能优化案例的代码到本地运行的案例

2.1  获取代码

2.2  构建 Docker 镜像

输出如下

gcc -o app app.c
docker build -t feisky/app:iowait -f Dockerfile .
[+] Building 31.9s (7/7) FINISHED                                                               docker:default
 => [internal] load build definition from Dockerfile                                                      0.0s
 => => transferring dockerfile: 116B                                                                      0.0s
 => [internal] load metadata for docker.io/library/ubuntu:latest                                         16.5s
 => [internal] load .dockerignore                                                                         0.0s
 => => transferring context: 2B                                                                           0.0s
 => [internal] load build context                                                                         0.0s
 => => transferring context: 22.87kB                                                                      0.0s
 => [1/2] FROM docker.io/library/ubuntu:latest@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f47  14.9s
 => => resolve docker.io/library/ubuntu:latest@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f478  0.0s
 => => sha256:7b1a6ab2e44dbac178598dabe7cff59bd67233dba0b27e4fbd1f9d4b3c877a54 28.57MB / 28.57MB         12.8s
 => => sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322 1.42kB / 1.42kB            0.0s
 => => sha256:7cc0576c7c0ec2384de5cbf245f41567e922aab1b075f3e8ad565f508032df17 529B / 529B                0.0s
 => => sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1 1.46kB / 1.46kB            0.0s
 => => extracting sha256:7b1a6ab2e44dbac178598dabe7cff59bd67233dba0b27e4fbd1f9d4b3c877a54                 1.9s
 => [2/2] ADD app /app                                                                                    0.3s
 => exporting to image                                                                                    0.1s
 => => exporting layers                                                                                   0.1s
 => => writing image sha256:169bda677823b435b699b97aff6cb8b4893934fe5eed1ef9a9773335aeddcd32              0.0s
 => => naming to docker.io/feisky/app:iowait                                                              0.0s
gcc -o app app-fix1.c
docker build -t feisky/app:iowait-fix1 -f Dockerfile .
[+] Building 15.4s (7/7) FINISHED                                                               docker:default
 => [internal] load build definition from Dockerfile                                                      0.0s
 => => transferring dockerfile: 116B                                                                      0.0s
 => [internal] load metadata for docker.io/library/ubuntu:latest                                         15.2s
 => [internal] load .dockerignore                                                                         0.0s
 => => transferring context: 2B                                                                           0.0s
 => [internal] load build context                                                                         0.0s
 => => transferring context: 22.87kB                                                                      0.0s
 => CACHED [1/2] FROM docker.io/library/ubuntu:latest@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675  0.0s
 => [2/2] ADD app /app                                                                                    0.1s
 => exporting to image                                                                                    0.1s
 => => exporting layers                                                                                   0.0s
 => => writing image sha256:861332fb8b0a0a578f904c3a7658b1c8d184979b79406ca8e398a5459f7682bb              0.0s
 => => naming to docker.io/feisky/app:iowait-fix1                                                         0.0s
gcc -o app app-fix2.c
docker build -t feisky/app:iowait-fix2 -f Dockerfile .
[+] Building 15.5s (7/7) FINISHED                                                               docker:default
 => [internal] load build definition from Dockerfile                                                      0.0s
 => => transferring dockerfile: 116B                                                                      0.0s
 => [internal] load metadata for docker.io/library/ubuntu:latest                                         15.2s
 => [internal] load .dockerignore                                                                         0.0s
 => => transferring context: 2B                                                                           0.0s
 => [internal] load build context                                                                         0.0s
 => => transferring context: 22.92kB                                                                      0.0s
 => CACHED [1/2] FROM docker.io/library/ubuntu:latest@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675  0.0s
 => [2/2] ADD app /app                                                                                    0.1s
 => exporting to image                                                                                    0.1s
 => => exporting layers                                                                                   0.1s
 => => writing image sha256:14ba4b3520460194644d7998aa51e4a31ec3e758a30817bfe89ba7e9f2100ee8              0.0s
 => => naming to docker.io/feisky/app:iowait-fix2 
 

2.3 查看当前镜像

输出如下

2.4  运行应用

输出如下

2.5 确认进程

2.6 关闭应用

输出如下

当然还有更简单的方法,不需要拉到本地直接运行

三、故障排错

3.1 docker run报OCI运行错误

原因:未安装RunC,它 是一个轻量级的工具,它是用来运行容器的

解决方案:安装 runC

3.2 docker run报IO错误

原因:获取镜像效率太低

解决方案:配置镜像加速

配置镜像加速网址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

3.3 git clone报Empty reply from server

原因:代理设置出错

解决方案:重置代理

结语

在麒麟操作系统V10上安装和使用 Docker,不仅可以享受到容器技术带来的便利,还能充分利用麒麟操作系统作为国产操作系统在安全性、可控性和生态兼容性方面的优势。通过上述指南,你可以顺利地在麒麟操作系统V10环境中部署和管理 Docker 应用程序,为你的开发和运维工作带来更高的效率和安全性。

想了解更多 麒麟 相关的学习资料(技术文章和视频),嘉chenjunbee免费获取。

### 在 Kylin OS 上安装 Docker 并拉取镜像 #### 安装 Docker 为了在麒麟操作系统V10上享受容器技术带来的便利,需按照如下方法完成Docker的安装[^1]: 确保系统已更新至最新状态。打开终端执行命令: ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 接着安装必要的依赖包以便后续操作能够顺利进行: ```bash sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common ``` 添加官方GPG密钥以验证下载软件的真实性与完整性: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` 配置稳定版仓库地址到Apt源列表文件中去: ```bash echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 再次刷新本地APT缓存索引,并正式开始安装Docker CE社区版本: ```bash sudo apt-get update && sudo apt-get install -y docker-ce ``` 启动并设置开机自启Docker服务来保障每次重启后自动加载运行环境: ```bash sudo systemctl start docker && sudo systemctl enable docker ``` 最后可以通过`docker -v`指令查询当前所使用Docker版本号;利用`systemctl status docker`确认其正在正常运作当中[^2]。 #### 拉取 Docker 镜像 当准备就绪之后就可以着手于获取所需的Git项目对应的Docker镜像了。在此之前建议先检查目标机器架构是否匹配预期,比如对于ARM架构而言应当特别留意这一点[^4]。 假设要查找名为`example/git-repo`的特定镜像,则可以在命令行输入以下语句来进行检索: ```bash docker search example/git-repo ``` 一旦确定好具体名称后即可尝试将其下载下来保存在当地磁盘之中等待进一步处理: ```bash docker pull example/git-repo:latest ``` 如果不确定刚刚获得的那个映像是不是真的适合自己使用的话,不妨借助inspect工具深入探究一番内部结构详情: ```bash docker inspect <image_id> ``` 其中`<image_id>`代表的就是之前提到过的那个唯一识别码字符串,在这里用于指定想要审查的对象实例。 通过以上步骤,不仅能够在麒麟操作系统V10环境中成功部署和管理Docker应用程序,而且还可以充分体验到该平台所提供的独特价值所在——即高效率的工作流程加上可靠的安全防护机制共同作用下所带来的卓越性能表现[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值