龙芯Fedora21平台制作feodra21-tools docker镜像
http://ask.loongnix.org/?/article/82
在按照本文的方式制作镜像之前,首先要先创建基础镜像fedora21-base,可以参考:
http://ask.loongnix.org/?/article/81
创建feodra21-tools镜像的必要性
在已经创建的feodra21-base镜像中不包含常用命令,如:ifconfig、w3m、wget、vim等命令。当在feodra21-base容器的命令行中输入这些命令时,会有错误提示,如下:
[root@c6f646635bf1 /]# ifconfig bash: ifconfig: command not found [root@c6f646635bf1 /]# w3m bash: w3m: command not found [root@c6f646635bf1 /]# wget bash: wget: command not found [root@c6f646635bf1 /]# vim bash: vim: command not found
所以,还需要在创建一个只包含基本命令的镜像。
实验环境
本文的实验都是在龙芯3A3000机器上。
操作系统是loongnix(Fedora21)20170726版本,
docker是1.12.2版本。
镜像内容
feodra21-tools镜像中包含一些常用命令,如:ifconfig、w3m、wget、vim
制作镜像前期准备
本文将演示使用Dockerfile如何创建镜像,Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。
在宿主机下 /root/image 目录下创建一个 tools 文件夹,将Dockerfile和run.sh文件存到 tools 文件夹内,具体步骤为:
# mkdir /root/image/tools -p # cd /root/image/tools/ # vi run.sh
编写run.sh文件,如下代码所示:
#!/bin/bashexport LC_ALL=zh_CN.UTF-8 export LANG=zh_CN.UTF-8/bin/bash
编写Dockerfile文件,如下代码所示:
# vi Dockerfile以下是Dockerfile包含的内容:FROM fedora21-base:21RUN yum install -y "net-tools" RUN yum install -y "w3m" RUN yum install -y "wget" RUN yum install -y "vim-enhanced" RUN yum install -y "tar" RUN yum install -y "git"RUN mkdir /usr/lib/locale -p RUN /bin/sh -c 'cd /usr/lib/locale && sleep 2 && yum reinstall -y "glibc-common"' RUN echo zh_CN.UTF-8 > /etc/locale.confADD run.sh / RUN chmod 777 /run.sh CMD ["/run.sh"]
Dockerfile文件描述的几个解释:
1、FROM: FROM指令指定的基础image,本文中指定已经创建好的fedora21-base镜像,格式为: 镜像名称:镜像标签(TAG)
2、RUN: RUN可以运行任何被基础image支持的命令。本文中运行yum install 命令,下载安装 net_tools、w3m、wget、vim。
3、CMD: 设置指令,用于container启动时指定的操作。
4、CMD:设置指令,用于container启动时指定的操作。本文中在container启动时运行ADD复制的run.sh文件。
运行Dockerfile文件创建镜像
- 通过docker build命令创建镜像,代码如下所示:
# docker build -t feodra21-tools .
当Dockerfile文件中的四条RUN命令都Complete以后,最后会有如下输出,代表创建镜像成功:
Removing intermediate container da84d9ffbcd7Successfully built 204d157f7074
- 验证feodra21-tools镜像是否创建成功,代码如下:
# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE feodra21-tools latest 204d157f7074 3 minutes ago 487.2 MB fedora21-base 21 099b24f7ff5a 33 hours ago 206.9 MB
通过查看docker images的执行结果可以确定feodra21-tools镜像创建成功,fedora21-base镜像就是Dockerfile文件中FROM 指定的基础镜像。
创建docker容器
创建好feodra21-tools镜像,就可以创建容器了,代码如下:
[root@localhost tools]# docker run -i -t feodra21-tools [root@34df78e5bf37 /]#
docker run命令中,-i 代表容器可以接收键盘上的输入(主要用于在容器的命令上运行程序);-t 和 -i 配合使用。
容器运行成功后可以看见一个明显的变化,就是命令行提示符已经由本机的机器名称(localhost)变成了容器的ID(34df78e5bf37)。
至此,龙芯feodra21-tools容器创建成功,并且开始正常运行了!
验证安装的命令是否可以正常使用
在验证安装的命令是否可以正常使用,可以在容器里的命令行分别输入:ifconfig、w3m、wget、vim。只要不提示 “command not found” 就代表安装成功,并可以正常使用,使用ifconfig举例测试:
# ifconfigeth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.18.0.2 netmask 255.255.0.0 broadcast 0.0.0.0inet6 fe80::42:acff:fe12:2 prefixlen 64 scopeid 0x20<link>ether 02:42:ac:12:00:02 txqueuelen 0 (Ethernet)RX packets 3 bytes 238 (238.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 4 bytes 328 (328.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 0 (Local Loopback)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
总结
本文描述在龙芯平台上通过Dockerfile制作镜像的方法,并成功运行容器。
如果没有创建fedora21-base,在执行Dockerfile文件时会提示基础镜像不存在的错误。
以上论述可供开发者和部署服务器应用的管理员参考。
龙芯Fedora21平台制作feodra21-tools docker镜像相关推荐
- 龙芯Fedora21平台制作feodra21-loongson-app docker镜像
http://ask.loongnix.org/?/article/86 在按照本文的方式制作镜像之前,首先要先创建基础镜像feodra21-apache-php-mysql,可以参考: http:/ ...
- 龙芯Fedora21平台制作docker镜像,并且解决vi乱码问题
http://ask.loongnix.org/?/article/81 实验环境 本文的实验都是在龙芯3A3000机器上. 操作系统是loongnix(Fedora21)20170726版本, ...
- 4.龙芯2k1000 系统制作及安装
4.龙芯2k1000 系统制作及安装 文章目录 4.龙芯2k1000 系统制作及安装 (一).制作系统启动U盘 (二).操作系统拷贝 准备材料: 系统内核文件vmlinuz buildroot根文件系 ...
- 龙芯Mips平台vmlinux文件分析
龙芯Mips平台vmlinux文件分析 一.文件格式 1. 文件类型 2. 使用场景 二.结构内容描述 1. ELF header(ELF 头) 2. 字符串表表项 Entry 3. 读取字符串表 S ...
- 基于龙芯2K1000平台CL1606AD760-8驱动调试总结
历经两周终于将设计的AD采集板驱动起来,并且读取电流值成功,唯不是一个突破!由硬件设计再到驱动,一步步设计改变:到设备树添加驱动并加载,总结主要分为两方面,一个驱动调试和硬件调试.细节如下: 驱动调试 ...
- 破解elasticsearch(制作破解版docker镜像)
破解elasticsearch(制作破解版docker镜像) 本文仅用于学习交流,要使用elasticsearch的付费功能,请通过正规渠道购买platinum(白金)版. 一.部署纯净版elasti ...
- 龙芯电脑平台kubernetes集群编译及部署方案
http://ask.loongnix.org/?/article/105 一.环境 操作系统: loongnix 内核: 3.10.84 go版本: go1.9.2 linux/mips64le ...
- 奔跑吧!中国芯,北京迅为龙芯处理器平台
龙芯是中国科学院计算所自主研发的通用CPU,采用简单指令集,类似于MIPS指令集.龙芯1号的频率为266MHz,最早在2002年开始使用.龙芯2号的频率最高为1GHz.龙芯3A是首款国产商用4核处理器 ...
- 龙芯3B1500平台,源码安装nodejs过程中失败问题
http://ask.loongnix.org/?/question/91 你好,我在龙芯3B1500,安装已经移植成功的Nodejs-4.3.1 ,完全按照社区步骤走的. 机器上gcc版本4.8.3 ...
最新文章
- HTTP 2.0与HTTP 1.1区别
- 助力飞鸽传书高效沟通
- bash中正则表达式
- 爱pia戏推出PC客户端,为您自动置顶窗口,方便查找
- 【05】JSON笔记
- 海康服务器协议,国标流媒体服务器GB28181协议和海康设备的交互过程记录
- 全国大学生电子设计竞赛(五)--开关电源的设计
- switch删除用户显示正在维护服务器,Switch即将迎来6.0更新 账号与用户无法再正常解绑...
- 北京app开发公司排行榜-开发app的公司有哪些呢
- vue01-前端知识体系(狂神)
- java读pdf一行_java读与pdf白件的时分呈现非常
- 22春天津大学《工程地质学》在线作业二
- Direct3D初始化
- matlab对AMD显卡的支持,matlab - 深入学习Matlab与AMD显卡 - 堆栈内存溢出
- 独立IP与共享IP有什么区别
- 500G !!史上最全的JAVA全套教学视频网盘分享 (JEECG开源社区)
- uniapp h5页面打开app,没有下载则跳转下载
- WRF模式中关于eta_levels的设置以及对应的高度
- AIDevOps离我们有多远?
- tiktok xa xl xg xk算法测试记录