JobPlus知识库 IT 大数据 文章
Docker容器安装

什么时容器

容器技术已经成为应用程序封装和交付的核心技术

容器技术的核心有以下几个内核技术组成

CGroups(Control Groups)-资源管理

NameSpace-进程隔离

SELinux安全

 

由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速

信号隔离、网络隔离、主机名隔离

ps只能看见自己的进程

什么是Docker

Docker是完整的一套容器管理系统

Docker提供了一组命令,让用户更加方便直接地使用容器技术,而不需要过多关心底层内核技术

Docker优点

相比于传统的虚拟化技术,容器更加简洁高效

传统虚拟机需要给每个VM安装操作系统

容器使用的共享公共库和程序

vm container

appa appb appc appa appb appc

bins/libs bins/libs bins/libs bins/libs bins/libs bins/libs

cuest os guest os guest os docker

hypervisor Host OS

infrastructure infrastructure

Docker的特点

容器的隔离性没有虚拟化强

共用Linux内核,安全性有先天缺陷

SELinux难以驾驭

监控容器和容器排错是挑战

部署Docker

安装软件

需要64位的操作系统

至少RHEL6.5以上的版本,强烈推荐RHEL7

关闭防火墙(不是必须)

安装Docker

软件包列表

docker-engine

docker-engine-selinux

 

1 docker 安装

#----------------------物理机--------------------------#

创建一台 4G 内存的虚拟机创建虚拟机硬盘

qemu-img create -b node.qcow2 -f qcow2 node6.img 20G

创建虚拟机配置文件

sed 's/demo/node6/' demo.xml >/etc/libvirt/qemu/node6.xml

定义虚拟机

virsh define /etc/libvirt/qemu/node6.xml

编辑虚拟机修改内存

virsh edit node6


<domain type='kvm'>

  <name>node6</name>

  <uuid>9dce25b7-ae23-4336-84ff-4d7d8a3d1726</uuid>

  <memory unit='KiB'>4096000</memory>

  <currentMemory unit='KiB'>4096000</currentMemory>

  <vcpu placement='static'>2</vcpu>


启动虚拟机

virsh start node6

创建自定义 yum 源

拷贝 docker-engine*  /var/ftp/public

cd /var/ftp/public

createrepo

  .

#--------------------虚拟机--------------------#

修改主机名和静态 ip 地址

echo docker01 >/etc/hostname

配置静态 ip 地址 /etc/sysconfig/network-scripts/ifcfg-eth0 

BOOTPROTO="static"

IPADDR="192.168.6.10"

NETMASK="255.255.255.0"

GATEWAY="192.168.6.254"


配置 /etc/yum.repos.d/docker.repo

[local_docker]

name=CentOS docker

baseurl="ftp://192.168.6.254/public"

enabled=1

gpgcheck=0


安装 docker

yum install docker-engine

设置开机自启动

systemctl enable docker

重启虚拟机

reboot


#----------------------物理机--------------------------#

创建一台 4G 内存的虚拟机

创建虚拟机硬盘

qemu-img create -b node.qcow2 -f qcow2 node6.img 20G

创建虚拟机配置文件

sed 's/demo/node6/' demo.xml >/etc/libvirt/qemu/node6.xml

定义虚拟机

virsh define /etc/libvirt/qemu/node6.xml

编辑虚拟机修改内存

virsh edit node6


<domain type='kvm'>

  <name>node6</name>

  <uuid>9dce25b7-ae23-4336-84ff-4d7d8a3d1726</uuid>

  <memory unit='KiB'>4096000</memory>

  <currentMemory unit='KiB'>4096000</currentMemory>

  <vcpu placement='static'>2</vcpu>


启动虚拟机

virsh start node6


创建自定义 yum 源

拷贝 docker-engine*  /var/ftp/public

cd /var/ftp/public

createrepo  .

#--------------------虚拟机--------------------#

修改主机名和静态 ip 地址

echo docker01 >/etc/hostname

配置静态 ip 地址 /etc/sysconfig/network-scripts/ifcfg-eth0 

BOOTPROTO="static"

IPADDR="192.168.6.10"

NETMASK="255.255.255.0"

GATEWAY="192.168.6.254"


配置 /etc/yum.repos.d/docker.repo

[local_docker]

name=CentOS docker

baseurl="ftp://192.168.6.254/public"

enabled=1

gpgcheck=0


安装 docker

yum install docker-engine

设置开机自启动sy

stemctl enable docker

重启虚拟机

reboot

[root@docker01 ~]# ifconfig

docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0

ether 02:42:3e:e1:58:12 txqueuelen 0 (Ethernet)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
208人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序