本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
引言
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 应用程序,为你的开发和运维工作带来更高的效率和安全性。