Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 设备 > 虚拟化 > 正文

Docker 快速安装使用

时间:2014-12-08 16:15 来源:网络整理 作者:51ou.com 阅读:

 

操作系统:centos 6.5

一、安装:
1、配置epel源:
yum install -y yum-priorities && rpm -ivh  
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

2、安装 docker-io febootstrap

# febootstrap用来制作centos镜像的工具


yum install docker-io febootstrap -y

3、安装完成后挂cgroup文件系统
vim /etc/fstab
添加一行:
none                    /sys/fs/cgroup          cgroup  defaults        0 0

4、重启系统:
reboot

  docker 开机后会自动启动,如果没有启动可以手动启动:docker -d &

二、下面来制作一个Centos 6.5 镜像 1、使用febootstrap制作CentOS镜像文件centos6-image目录
febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i
 vim -i openssh-server -i openssh-clients -i tar -i gzip centos6 centos6-image 

#参数说明:

-i 镜像所需要安装的工具:把-i后面的参数传递给yum来实现安装,上面安装了ssh服务

centos6 是centos版本

centos6-image 是指定目录

命令的执行完成后,会在当前目录下生成一个目录centos6-image


bash-4.1.2#
bash-4.1.2#
bash-4.1.2# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc 
 root  sbin  selinux  srv  sys  tmp  usr  var
bash-4.1.2# ls -a root

这时root目录下没有任何文件,也不没有隐藏的点文件,如:.bash_logout  .bash_profile  .bashrc

如果这时制作出来的镜像使用ssh登录,会直接进入根目录下,如下:


bash-4.1.2#
bash-4.1.2#
bash-4.1.2# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  
root  sbin  selinux  srv  sys  tmp  usr  var
bash-4.1.2# ls -a root

. ..

为了避免这种情况,可以在centos6-image目录的root目录把.bash_logout  .bash_profile  .bashrc这三个文件设置一下


cd centos6-image && cp etc/skel/.bash* root/

这样就可以实现远程登录正常了

基于这样的实现,我们把可以以后一些复杂的配置文件事先配置好后放在一个目录下,然后再通过Dockerfile文件来调用,即可快速完成。

2、下面来创建一个基本的镜像
cd centos6-image && tar -c .|docker import - centos6-base

命令完成后,使用docker images来查看


docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos6-base          latest              a01c3d440db8        1 minutes ago        311.3 MB

此时一个基本的镜像已完成,

3、下面来用Dockerfile文件来创建一个可以ssh登录的镜像

Dockefile 文件如下:


#Dockerfile
FROM centos6-base
MAINTAINER zhou_mfk <zhou_mfk@163.com>
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:redhat' | chpasswd
RUN yum install -y yum-priorities && rpm -ivh 
 && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
RUN yum install tar gzip gcc vim wget -y
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
CMD /usr/sbin/sshd -D
#End

Dockerfile说明请看Docker系列相关博文       Dockerfile 文件详解

4、使用上面的Dockerfile文件来创建一个可ssh登录的镜像
docker build -t centos6-ssh .

build: Build a container from a Dockerfile 这个是创建一个容器从Dockerfile文件

docker build <path> 寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image

. 表示在当前目录下

docker build -t centos6-ssh /root/images/abc  这个表示Dockerfile文件在:/root/images/abc下

命令执行完成后,centos6-ssh镜像就创建完成了,

查看一下:

docker images

REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

centos6-ssh           latest              b8ca70e7adee        1 hours ago        311.3 MB

centos6-base          latest              a01c3d440db8        2 hours ago        311.3 MB

下面创建一个容器来登录下:

docker run -d -p 127.0.0.1:2222:22 centos6-ssh

ssh root@127.0.0.1 -p 2222

输入密码:redhat

[root@51ou.com ~]# 

[root@51ou.com ~]# 

[root@51ou.com ~]# ls

[root@51ou.com ~]# 

[root@51ou.com ~]# cat /etc/issue

CentOS release 6.5 (Final)

Kernel \r on an \m

 

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Docker 快速安装使用》技术文章,《Docker 快速安装使用》详细使用和说明,有时《Docker 快速安装使用》可能不完善、敬请谅解!如果《Docker 快速安装使用》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片