docker是什么?以及安装步骤,超详细

什么是Docker

采用Linux container(容器) 基于Golang语言,采用Apache2.0协议开发的开源容器管理引擎

底层技术:

——采用overlay(存储驱动引擎) UFS    分层文件系统(最大支持128层)作为镜像和可写层的融合点

overlayutf-8的实现结果(overlay影响docker性能)

——采用cgroup 进行容器的资源限制

——采用namespace(隔离内核) 实现进程之间的隔离

——采用bridge(网桥) 以及 iptables 实现数据的流通——容器间的互相连通以及外部访问

——采用chroot 伪根  重定向容器内部的根视图

CNCF云原生容器基金会

传统虚拟化:

优点:安全性高,服务运行在不同的内核

缺点:资源利用效率低,灵活性差(创建耗时长)——需要创建操作系统,再部署环境

docker

优点:资源利用率高,服务运行在同一个内核,灵活性强(能迅速创建)

缺点:安全性较低,但是完全能达到使用要求

容器三要素

镜像:环境的封装 ——传统:ISO

容器:展开后运行的环境 ——传统:虚拟机

仓库:存放镜像的服务  hub.docker.com ——发行版下载的服务器

优化过程

镜像只读,在上层加载可写层,所有修改的数据全部保存在可写层中

镜像是分层的,通过UFS(联合文件系统)展示一个完整的镜像使用

Docker 的最优环境

系统:linux系列,最好内核安装在4.0上

centos替代品

OracleLinux:迁移脚本

Rocky Linux Rocky Linux centos团队

Docker与虚拟机之间的比较

Docker是在操作系统进程层面的隔离,而虚拟机是在物理资源层面的隔离,两者完全不同,另外,我们也可以通过下面的一个比较,了解两者的根本性差异。

Docker 自身组件

    > Docker ClientDocker 的客户端

    > Docker ServerDocker daemon 的主要组成部分,接受用户通过 Docker Client 发出的请求,并按照相应的路由规则实现路由分发

    > Docker 镜像:Docker 镜像运行之后变成容器(docker run

docker 安装

安装centos7

注意:磁盘分区100GB

boot分区1000MB

虚拟内存应该如何设置?

·虚拟内存设置为物理内存的两倍,但一般不超过4个G,超过使用4G

·不能配置虚拟内存

kubernetes 官方要求安装时不得使用虚拟内存,否则报错

·必须使用虚拟内存

比如,PHP在编译安装时会检测当前虚拟内存是否会大于600MB,如果不大于会报错

初始化配置

1、配置网卡

仅主机

192.168.9.150

NAT

192.168.117.150

网关、DNS

安装工具包:

yum -y install lrzsz net-tools vim iptables-services

关闭selinux

setenforce 0

vim /etc/selinux/config

SELINUX=disabled

修改防火墙:

systemctl disable firewalld

systemctl stop firewalld

systemctl start iptables

systemctl enable iptables

iptables -F

service iptables save

init 0

快照

安装docker

方法1:官方安装脚本

方法2yum

方法3rpm

上传文件

yum -y install docker-ce-*

#保证可连接公网,docker必须重启,与防火墙紧密结合

systemctl enable docker

reboot

 

hub加速器

docker run hello-world

DaoCloud | Docker 极速下载

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

cat /etc/docker/daemon.json

道云通道,也可更换为阿里通道 https://kfp63jaj.mirror.aliyuncs.com \

 

systemctl restart docker

docker info

 

docker 应用部署

WordPress

需要环境:

PHP 5.6 或更新软件

MySQL 5.6 或 更新版本

Apache mod_rewrite 模块

docker run --name db --env MYSQL_ROOT_PASSWORD=example -d mariadb

docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值