1. 程式人生 > >Docker自制CentOS鏡像

Docker自制CentOS鏡像

操作系統 腳本 one serve entos gif eboot centos 7 passwd

系統環境:CentOS 7.3

將yum源切換到阿裏源

可以直接寫成一個腳本

技術分享
#!/bin/sh
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum
.repos.d/epel-testing.repo.backup wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
View Code

1. 安裝Docker

[root@localhost ~]# yum -y install docker-engine
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker

2. 安裝制作CentOS鏡像的工具

[root@localhost ~]# yum
-y install febootstrap

ps: CentOS7中的yum源沒有febootstrap包,可以在CentOS6中使用 "yumdownloader febootstrap"命令將febootstrap下載到本地,之後放在7上進行安裝

3. 制作CentOS鏡像文件centos6-image目錄

febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image http://
mirrors.aliyun.com/centos/6/os/x86_64/

PS:-i 安裝package, centos6 操作系統版本,centos6-doc安裝目錄,最後是源地址

4. 制作Docker鏡像,鏡像名字是centos6-base

cd centos6-image && tar -c .|docker import - centos6-base

制作可以ssh登陸的Docker鏡像,名字是centos6-ssh

1.創建一個Dockerfile文件

技術分享
#Dockerfile
FROM centos6-base
RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN sed -ri s/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g /etc/pam.d/sshd
RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh
EXPOSE 22
RUN echo root:123.com | chpasswd
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
CMD /usr/sbin/sshd -D
#End
Dockerfile
[root@localhost ~]# docker build -t centos6-ssh .

2. 創建容器

[root@localhost ~]# docker run -itd -p 33301:22 centos6-ssh

3. ssh登陸容器

[root@localhost ~]# ssh root@127.0.0.1 -p 33301

Docker自制CentOS鏡像