目录

①打包应用程序部署简单
②可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦)例如:需要把服务器从腾讯云迁移到阿里云,如果采用的是 Docker 容器技术,整个迁移的过程只需要在新的服务器上启动我们需要的容器就可以了。
③适合做微服务的部署
④适合持续集成和持续交付(CI/CD):开发到测试发布


namespace资源隔离——用容器技术封装

Docker Engine是具有以下主要组件的客户端-服务器(C/S架构)应用程序:
docker run
docker start
docker rm

特性——》性能损耗10-20%


- 容器是依赖于内核来隔离,彼此的关系像共享一样,所以安全性较之虚拟机差一些,毕竟不是完全隔离。所以若一个容器被黑客攻破,宿主机基本也就没了。
- 这里也不是完全没有办法,那就是 cgroup 资源分配,其能提供一定的安全机制
docker初期版本是1.13(同一版本,开源)
——》分类型 1.15 - 1.17 过程中分成两种。
①开源社区 docker-ce ②企业版 docker-ee
- 目前 Docker 只能支持 64 位系统。
-
- 1.#关闭防火墙
- systemctl stop firewalld.service
- setenforce 0
-
- 2.#安装依赖包
- yum install -y yum-utils device-mapper-persistent-data lvm2
- --------------------------------------------------------------------------------
- #yum-utils:提供了 yum-config-manager 工具。
- #device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
- #device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
- --------------------------------------------------------------------------------
-
- 3.#设置阿里云镜像源
- yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
-
-
- 4.#安装 Docker-CE 社区版并设置为开机自动启动
- yum install -y docker-ce
-
- systemctl start docker.service
- systemctl enable docker.service
-
- 5.#查看 docker 版本信息
- docker version



编译安装
- tar zxvf docker-19.03.9.tgz
- mv docker/* /usr/bin
-
- cat > /usr/lib/systemd/system/docker.service << EOF
- [Unit]
- Description=Docker Application Container Engine
- Documentation=https://docs.docker.com
- After=network-online.target firewalld.service
- Wants=network-online.target
-
- [Service]
- Type=notify
- ExecStart=/usr/bin/dockerd
- ExecReload=/bin/kill -s HUP $MAINPID
- LimitNOFILE=infinity
- LimitNPROC=infinity
- LimitCORE=infinity
- TimeoutStartSec=0
- Delegate=yes
- KillMode=process
- Restart=on-failure
- StartLimitBurst=3
- StartLimitInterval=60s
-
- [Install]
- WantedBy=multi-user.target
- EOF