制作image原生镜像需要使用febootstrap工具,需要注意的是,在centos7系列中,默认的源中不带此包,但是在centos6系列中,该包是默认可用使用的。
在centos6中安装febootstrap
?
1
2
3
4
5
6 |
# yum install febootstrap -y
会安装相应的软件包:fakechroot-2.9-24.5.el6_1.1.x86_64.rpm
、 fakechroot-libs-2.9-24.5.el6_1.1.x86_64.rpm
fakeroot-1.12.2-22.2.el6.x86_64.rpm fakeroot-libs-1.12.2-22.2.el6.x86_64.rpm
febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm
此时会生成一个命令febootstrap |
使用febootstrap工具构建基础镜像:
?
1 |
#febootstrap -i bash -i wget -i yum -i iputils -i iproute centos6.8 centos6.8-doc http://mirrors.163.com/centos/6.8/os/x86_64/ |
需要注意的是,-i参数表示安装包,centos6.8为image版本,centos6.8-doc为生成镜像的目录,后面的url为镜像源地址。
接下来很快就会构建完成,然后生成一个基础镜像:
?
1
2 |
# ls centos6.8-doc
bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var |
可以看到生成的centos6.8-doc目录里面已经包含了linux系统的基本文件系统。其实生成这样一个目录就相当于已经是一个基本的linux镜像了,只需要打包并分发到docker主机,并构建成相应的docker image就可以使用了。
使用docker工具导入此镜像:
不论在什么环境,首先进入centos6.8-doc目录,然后将镜像导入:
?
1
2
3
4
5
6
7 |
# cd centos6.8-doc
# tar -c .|docker import - centos:6.8
f86315da0e5ddfdbc2aaf169d7f26cf9e071afb7df04bc207ff0d5b623221c8c
此时,便生成了一个镜像。
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos 6.8 f86315da0e5d 6 seconds ago 392.9 MB |
接下来使用这个镜像去创建和使用容器:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
# docker run -itd -P centos:6.8 bash
45fc3313c92f8ef8b1fe841da580ca0759b82e54a507c3985dc1c65d6106e12d
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45fc3313c92f centos:6.8 "bash" 20 seconds ago Up 19 seconds desperate_meitner
# docker exec -it desperate_meitner cat /etc/redhat-release
CentOS release 6.8 (Final)
可以看到,当前的image镜像就是当时创建6.8版本的
# docker exec -it desperate_meitner ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link /loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1 /8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1 /128 scope host
valid_lft forever preferred_lft forever
311: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link /ether 02:42:0a:00:00:25 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.37 /24 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:aff:fe00:25 /64 scope link
valid_lft forever preferred_lft forever |
到此,一个完整的基本的docker images就已经做好了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:https://my.oschina.net/xxbAndy/blog/733987
相关文章
猜你喜欢
- 刀片服务器与机架服务器的区别介绍 2025-05-27
- 服务器虚拟化技术深度科普 2025-05-27
- 服务器租用价格怎么计算?服务器租用多少钱一年? 2025-05-27
- 云服务器的“弹性”体现在哪些方面? 2025-05-27
- 刀片服务器是什么 刀片服务器的主要特点 2025-05-27
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-27 33
-
2025-05-26 80
-
2025-05-27 29
-
2025-05-25 38
-
2025-05-26 56
热门评论