febootstrap – Bootstrap a basic Fedora system (like Debian debootstrap)
在debian或ubuntu中用 debootstrap
首先,先在centos6下下载 febootstrap 安装包,这个包在6中可以直接yum install,但是在7下无法yum安装。
1、通过 yumdownloader 下载相关包
[root@r1 ~]# yum install -y yum-utils [root@r1 ~]# yumdownloader febootstrap febootstrap-supermin-helper fakechroot fakechroot-libs
# 默认下载到当前目录下。
scp到centos7中,一个个rpm -ivh安装。略…
# febootstrap 参数:
-i 安装rpm包
[root@node1 ~]# febootstrap -i yum -i net-tools -i bash -i wget -i apt-get -i iputils -i iproute -i openssh-server -i openssh-clients centos7.4 centos7.4-doc https://mirrors.aliyun.com/centos/7.4.1708/os/x86_64/ [root@node1 ~]# cd centos7.4-doc
# 将基础镜像打包导入到docker,镜像名centos7
[root@node1 centos7.4-doc]# tar -c . | docker import - centos7
# 启动一个容器
[root@node1 ~]# docker run -dit centos7 /bin/bash
# 进入容器
[root@node1 ~]# docker exec -it 731ad6189caa /bin/bash
# 安装apache
bash-4.2# yum install -y httpd
# 重启apache服务
bash-4.2# systemctl restart httpd
# 报错信息。
Failed to get D-Bus connection: Operation not permitted
网上有的资料说,docker run 容器的时候加 –privileged=true 参数,也不好用,说centos7.2版本会解决,我这centos7.4也没解决。
最后通过docker run容器的时候运行 /usr/sbin/init 才解决。
[root@node1 ~]# docker run -dit centos7 /usr/sbin/init
优化部分:
修改容器时区,编码等问题(调优),再commit为镜像,留做以后做为基础镜像。
1、复制用户默认配置文件到用户家目录
bash-4.2# cd /root bash-4.2# cp /etc/skel/.bash* .
退出容器,再进入,就会发现前面的提示从 bash-4.2# 变为 [root@1c9c1050c670 ~]# 了
2、安装vi编辑器
[root@1c9c1050c670 ~]# yum install -y vi vim
3、配置 .vimrc ,否则打开中文的文件,会乱码。
[root@1c9c1050c670 ~]# cat .vimrc set fileencodings=utf-8 set termencoding=utf-8 set encoding=utf-8
4、修改为CST时区
[root@1c9c1050c670 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
提交到docker镜像
[root@node1 ~]# docker commit 1c9c1050c670 centos7.4
PS:
制作镜像的时候,已经安装了ssh,可以设置root密码,ssh登陆进去。设置密码前先安装 yum install -y passwd 否则找不到命令。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3900.html