当前位置: 首页 > news >正文

基于rootfs构建Docker镜像

1. 背景

在实际工作中,由于系统本身版本过低,在接受新项目时出现系统版本过低而无法开始工作的问题。

为了解决该问题,使用Docker构建基于ubuntu-18.04的Docker镜像,以解决版本兼容问题。

2. 构建rootfs

2.1. 下载ubuntu-18.04 rootfs

wget http://cdimage.ubuntu.com/ubuntu-base/releases/18.04.5/release/ubuntu-base-18.04.5-base-amd64.tar.gz

2.2. 构建rootfs

mkdir -p ubuntu-18.04.05
tar zxvf ubuntu-base-18.04.5-base-amd64.tar.gz -C ubuntu-18.04.05
chroot ubuntu-18.04.05

2.3. 完善rootfs

2.3.1. 设置rootfs环境变量

export USER=ubuntu-18.04
export HOST=ubuntu-18.04

2.3.2. 设置主机&DNS

echo $HOST > /etc/hostname
echo "127.0.0.1    localhost.localdomain localhost" > /etc/hosts
echo "127.0.0.1    $HOST" >> /etc/hosts
echo "nameserver 127.0.1.1" > /etc/resolv.conf

2.3.3. 安装依赖库

apt-get update
apt-get install -y vim git dropbear python build-essential \u-boot-tools device-tree-compiler libfdt-dev libc6-i386 \autoconf libtool pkg-config libncurses5 libncurses5-dev \bc libssl-dev wget python-pip flex bison \gcc-multilib cmake texinfo clang lrzszpip install --upgrade lxmlexit

3. 构建Docker image

3.1. 打包rootfs

cd ubuntu-18.04.05tar zcvf rootfs.tgz bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  varcd -

3.2. build镜像

3.2.1. 准备

mkdir -p docker-ubuntu-18.04-image
cd docker-ubuntu-18.04-image
mv ../ubuntu-18.04.05/rootfs.tgz .

3.2.2. 编写Dockerfile文件

FROM scratchADD rootfs.tgz /CMD [echo -e "Hello World!"]

3.2.3. 构建image

docker build -t ubuntu-18.04 .

3.3. docker images查看镜像

 3.4. 启动docker容器

docker run -it -v /myDir:/myDir ubuntu-18.04 /bin/bash

http://www.lryc.cn/news/32179.html

相关文章:

  • 电脑文件软件搬家迁移十大工具
  • 【数据库】排名问题
  • 【redis学习篇】主从哨兵集群架构详解
  • 基于jdk8的HashMap源码解析
  • 深度学习J1周-ResNet50算法实战与解析_鸟类识别(CNN)
  • SpringBoot中一行代码解决字符串向枚举类型转换的问题
  • Praat之基频分析
  • 乡村企业门户网站
  • Deploy Workshop|DIY部署环境,让OceanBase跑起来
  • 【CPP】定义一个类
  • 谷歌广告投放步骤流程是什么?一文带你全方位了解实操细节
  • TypeScript 怎么去查找类型定义的?
  • NPM包管理器
  • IT英语记录
  • SRS4.0 源码分析- RTC模块相关类
  • 数位DP
  • 剑指offer(一)-链表
  • CDH大数据平台入门篇之搭建与部署
  • Spark Join
  • 数字的转化规则?
  • MySQL面试题-锁相关
  • Windows 终端编译 C代码
  • SpringCloud:Feign的使用及配置
  • Parquet学习与使用之BloomFilter的应用
  • 95%置信区间计算-理解
  • 深度学习pytorch实战三:VGG16图像分类篇自建数据集图像分类三类
  • 2023年3月软考高项(信息系统项目管理师)报名走起!!!
  • 模电学习11 运算放大器学习入门
  • spring学习3.5
  • 名创优品:国内“触礁”,海外“提速”