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
设置开机自启动
systemctl 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

猜你喜欢

转载自blog.csdn.net/weixin_40018205/article/details/81179934